Skip to content
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

[Backport 2.x] Change abstraction point for transport protocol #15506

Merged

Conversation

andrross
Copy link
Member

Backports #15432 to 2.x

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

The previous implementation had a transport switch point in
InboundPipeline when the bytes were initially pulled off the wire. There
was no implementation for any other protocol as the `canHandleBytes`
method was hardcoded to return true. I believe this is the wrong point
to switch on the protocol. This change makes NativeInboundBytesHandler
protocol agnostic beyond the header. With this change, a complete
message is parsed from the stream of bytes, with the header schema being
unchanged from what exists today. The protocol switch point will now be
at `InboundHandler::inboundMessage`. The header will indicate what
protocol was used to serialize the the non-header bytes of the message
and then invoke the appropriate handler based on that field.

Signed-off-by: Andrew Ross <andrross@amazon.com>
(cherry picked from commit f6d5ce9)
Copy link
Contributor

❌ Gradle check result for 4e71cf0: TIMEOUT

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

✅ Gradle check result for 4e71cf0: SUCCESS

Copy link

codecov bot commented Aug 29, 2024

Codecov Report

Attention: Patch coverage is 84.00000% with 20 lines in your changes missing coverage. Please review.

Project coverage is 71.63%. Comparing base (4ec2c5d) to head (4e71cf0).
Report is 3 commits behind head on 2.x.

Files with missing lines Patch % Lines
.../org/opensearch/transport/InboundBytesHandler.java 88.40% 0 Missing and 8 partials ⚠️
.../java/org/opensearch/transport/InboundMessage.java 83.33% 4 Missing and 2 partials ⚠️
...transport/nativeprotocol/NativeInboundMessage.java 0.00% 3 Missing ⚠️
.../java/org/opensearch/transport/InboundHandler.java 50.00% 1 Missing ⚠️
...in/java/org/opensearch/transport/TcpTransport.java 0.00% 1 Missing ⚠️
...va/org/opensearch/transport/TransportProtocol.java 80.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##                2.x   #15506      +/-   ##
============================================
- Coverage     71.67%   71.63%   -0.04%     
+ Complexity    63602    63517      -85     
============================================
  Files          5221     5222       +1     
  Lines        297593   297571      -22     
  Branches      43314    43309       -5     
============================================
- Hits         213302   213168     -134     
- Misses        66521    66534      +13     
- Partials      17770    17869      +99     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@reta reta merged commit f700f50 into opensearch-project:2.x Aug 29, 2024
58 of 60 checks passed
@andrross andrross deleted the backport/backport-15432-to-2.x branch August 29, 2024 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants