-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] Lack of context.Context support #350 #351
base: master
Are you sure you want to change the base?
Conversation
f4f26d0
to
90ac1a7
Compare
@@ -17,7 +17,7 @@ import ( | |||
"strconv" | |||
"time" | |||
|
|||
"github.com/vesoft-inc/fbthrift/thrift/lib/go/thrift" | |||
"github.com/apache/thrift/lib/go/thrift" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry that we cannot replace the thrift with apache thrift, we need to keep the rpc protocol the same with the server to avoid some incompatibility issues.
We will synchronize the vesoft-inc/fbthrift with facebook/fbthrift, then could you please update the pr with fbthrift? Thanks very much for your contribution~ |
If you don’t mind, I would like to share few thoughts regarding usage of single 1 . Hopefully, client-server interaction is done through RPC, and well defined contracts enables to develop different language SDKs via code generator tools(like Because thrift(RPC) is just protocol, it is hard to find one thrift-code generator that meet all the requirements for all languages.(sad reality :/) As we already know that previously used If you would ask my perspective regarding this approach(utilizing just That’s the my point of view regarding the using and sticking into the one code-generator tool. 2 . On the other side, maintaining the product(client-SDK) as well as its utilized library( Thank you for your time! P:S If you change the mind in future, I am here to support as well as contribute. |
90ac1a7
to
2d1d5a7
Compare
TL;DR Just synchronizing the 3 . After checking the thrift protocol implementations. We have seeen that
Recently, we had a chance to look for alternative |
Hi @Nicole00 , |
Thank you very much for your sharing. Indeed, keeping thrift synchronized in real time is not an easy task, and this is not part of our planned work. |
Regarding bugs for http2, alternative code generator libraries(such as If you consider for using other code-generator library(rather than |
We are very sorry to tell you that we will not change the fbthrift for version 3.x, the changes are too big and uncertain. |
I understand the concern regarding the replace fbthrift 3.x due to given the significant changes it introduces. My goal with this PR was to address the lack of ctx.Context support, which is crucial for request cancellation and graceful shutdowns in Go. I believe this would be beneficial to users of Nebula-go, especially in production environments where resource management is critical. If upgrading to fbthrift 3.x is not an option at this time, would you be open to discussing potential alternatives or a middle-ground solution to incorporate context support without a full upgrade? Looking forward to your thoughts. |
What type of PR is this?
What problem(s) does this PR solve?
Issue(s) number: #350
Description:
Add support of
context.Context
for operations provided bynebula-go
client SDKHow do you solve it?
Using
apache/thrift
library for code generation part for golang SDK that supports request cancellation throughcontext.Context
Special notes for your reviewer, ex. impact of this fix, design document, etc: