-
Notifications
You must be signed in to change notification settings - Fork 185
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
Add integration tests for volo #251
Comments
I'd like to help and I noticed that you mentioned you would add some examples in the future. Please feel free to share them whenever you're ready; I'll be keeping an eye out for updates. |
I will suggest adding a test to hive metastore, maybe the mostly used thrift rpc based services? On my local test, calling hive metastore will meeting EOF errors: +ERROR 1105 (HY000) at line 2: Internal. Code: 1001, Text = error on validating access
+thrift error: Transport(TransportError { kind: EndOfFile, message: "an unexpected end of file from server, rpc_info: RpcInfo { role: Client, caller: Some(Endpoint { service_name: \"\", address: None, faststr_tags: FastStrMap { inner: {} }, tags: TypeMap { inner: {} } }), callee: Some(Endpoint { service_name: \"hms\", address: Some(Ip(127.0.0.1:9083)), faststr_tags: FastStrMap { inner: {} }, tags: TypeMap { inner: {} } }), method: Some(\"get_database\" |
@Xuanwo Hi, seems that that's because we defaults to use the This can be opted-out by calling Do you know which protocol hive uses? FramedBinary or BufferedBinary? |
Great, let me try again. (As a general thrift rpc framework, I suggest to disable those private protocol by default. Make it opt-in instead.)
|
Does hive support framed transport? Framed transport is much more faster than simple buffered binary. |
I'm not sure about that. AFAIK, Most hive users are using binary protocol. |
Thanks for your suggestion! In fact, all CloudWeGo frameworks uses
You can switch to use .make_codec(volo_thrift::codec::default::DefaultMakeCodec::framed()) |
Seems changing into +ERROR 1105 (HY000) at line 2: Internal. Code: 1001, Text = error on validating access
+thrift error: Transport(TransportError { kind: EndOfFile, message: "an unexpected end of file from server, rpc_info: RpcInfo { role: Client, caller: Some(Endpoint { service_name: \"\", address: None, faststr_tags: FastStrMap { inner: {} }, tags: TypeMap { inner: {} } }), callee: Some(Endpoint { service_name: \"hms\", address: Some(Ip(127.0.0.1:9083)), faststr_tags: FastStrMap { inner: {} }, tags: TypeMap { inner: {} } }), method: Some(\"get_database\"
+ERROR 1105 (HY000) at line 3: UnknownTable. Code: 1025, Text = error: |
Oh, then could you please try the original buffered transport? |
Currently, we relies on the internal long-running stability testing services to ensure the stability of volo. This is not easily noticeable and cannot prevent errors from being merged in ci.
Thus, we need to add some integration tests for volo and run them in the github action.
I think we can just follow the guide in TRPL here.
I'll add some examples later when I have time.
The text was updated successfully, but these errors were encountered: