question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Allow binding more than one Thrift service at the same path

See original GitHub issue

A user wants to write a Thrift proxy server that forwards the requests to their corresponding remote Thrift services where each Thrfit service has different IDLs, e.g.

service FooService {
    string foo()
}
service BarService {
    string bar()
}

If a client calls foo() then FooService would be invoked. bar() then BarService.

Currently, a user has to use TMultiplexed protocol and specify a service name explicitly.

Once this feature is implemented, a proxy Thrift server could provide a union/merged view of multiple Thrift services without using TMultiplexed protocol, allowing a user to split/merge their services without affecting the public API.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:4
  • Comments:11 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
trustincommented, Nov 22, 2019

@sivaalli That’s a good question. I think we can add such an option later if requested by users. Meanwhile, let’s stick to the current behavior - using the same default/available serialization formats.

1reaction
trustincommented, Nov 19, 2019

@sivaalli Thanks for looking into this issue first of all.

Is my understanding right here?

Yes, we should look for a function in the order as specified when building a THttpService.

Also, if FooService and BarService both have foo(), the FooService, which was specified first, will be chosen.

Please also keep in mind that we also need to support TMultiplexed, which is supported via of(Map) factory method. Let me know if you are not familiar with TMultiplexed - I can elaborate on it.

Read more comments on GitHub >

github_iconTop Results From Across the Web

multiple Thrift services on one transport - rpc - Stack Overflow
Correct. As I understand it, only the second service would be generated by thrift, and this is what would be bound when starting...
Read more >
Solved: unable to connect thrift server using beeline - 280562
Solved: when am connecting to thrift server using beeline it's showing below error ... SLF4J: Class path contains multiple SLF4J bindings.
Read more >
Chapter 1. Introduction to Apache Thrift - Programmer's Guide ...
We'll look at why Apache Thrift was created and how it helps programmers build high-performance, cross-language services. To begin, we'll consider the growing ......
Read more >
Apache Thrift - Home
This file is an interface definition made up of thrift types and Services. ... Apache Thrift allows you to define data types and...
Read more >
Troubleshooting / common issues - Pants build
Pants runs most processes in a hermetic sandbox (temporary directory), which allows for safely caching and running multiple processes in parallel.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found