You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If -t/--thrift is passed a directory, yab will traverse it to find an appropriate *.thrift definition file for the service being called.
Motivation
The primary motivator for this change is simplicity for end-users.
In ecosystems where users make adhoc yab calls across numerous microservices, it can be cumbersome to constantly specify a *.thrift file with the -t/--thrift flag. Users will be able to specify a root IDL directory (e.g. /usr/share/my-idls/), and yab will find the right definition file for the service being called.
Further, the -t/--thrift setting could be predefined in defaults.ini to reduce the need for supplying the flag altogether.
Discussion
Namespace collisions of service names could make it difficult to find the thrift file for the intended service being invoked. This shouldn't be a problem for most usage, but it's not immediately clear how to handle those edge cases.
Additionally, there is some non-trivial overhead to traversing a large set of thrift definition files. For a tool like yab, this is possibly undesirable, but users always have the option to explicitly list a file using the -t/--thrift flag if speed becomes a concern.
The text was updated successfully, but these errors were encountered:
If there's any collisions, it would probably just fail and ask the user to specify the full path, but I do think that most thrift methods wouldn't clash.
There would be a performance impact, but like you said it can be avoided by specifying the full file. In future we could build an index to make it faster too.
This branch was started a few months ago, I just haven't had the time to complete it, but it's definitely on my radar.
Feature request
If
-t/--thrift
is passed a directory,yab
will traverse it to find an appropriate*.thrift
definition file for the service being called.Motivation
The primary motivator for this change is simplicity for end-users.
In ecosystems where users make adhoc
yab
calls across numerous microservices, it can be cumbersome to constantly specify a*.thrift
file with the-t/--thrift
flag. Users will be able to specify a root IDL directory (e.g./usr/share/my-idls/
), andyab
will find the right definition file for the service being called.Further, the
-t/--thrift
setting could be predefined indefaults.ini
to reduce the need for supplying the flag altogether.Discussion
Namespace collisions of service names could make it difficult to find the thrift file for the intended service being invoked. This shouldn't be a problem for most usage, but it's not immediately clear how to handle those edge cases.
Additionally, there is some non-trivial overhead to traversing a large set of thrift definition files. For a tool like
yab
, this is possibly undesirable, but users always have the option to explicitly list a file using the-t/--thrift
flag if speed becomes a concern.The text was updated successfully, but these errors were encountered: