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

Introduce protobuf serialization for objects - FetchSearchResult, SearchHits, SearchHit #15372

Closed
wants to merge 61 commits into from

Conversation

finnegancarroll
Copy link
Contributor

@finnegancarroll finnegancarroll commented Aug 22, 2024

Description

Extend existing native transport serialization by introducing protobuf definitions for the following classes: FetchSearchResult, SearchHits, SearchHit.

FetchSearchResultProtobuf, SearchHitsProtobuf, and SearchHitProtobuf wrap their respective classes overriding native serialization and writing/reading protobuf objects instead. Protobuf has the advantage of out of the box versioning/bwc, language agnostic service definitions, and speculative performance benefits in some areas. See this issue for additional details.

Having protobuf definitions for client facing objects could help enable gRPC work going forward as well.

Related Issues

#15308
#13697

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

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.

Copy link
Contributor

❌ Gradle check result for 7920125: FAILURE

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 52d7c15: FAILURE

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 1103fbb: FAILURE

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 59d9765: FAILURE

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 9fde4b0: FAILURE

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 ebadf6f: FAILURE

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 59d9765: FAILURE

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 4dc97d8: FAILURE

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 d01540d: FAILURE

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?

@finnegancarroll finnegancarroll changed the title Decouple serialization from objects - FetchSearchResult, SearchHits, SearchHit Introduce protobuf serialization for objects - FetchSearchResult, SearchHits, SearchHit Aug 28, 2024
Copy link
Contributor

❌ Gradle check result for a1a6b94: FAILURE

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 8afa24c: FAILURE

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 b7e06f3: FAILURE

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 4e8bc03: SUCCESS

Copy link

codecov bot commented Aug 28, 2024

Codecov Report

Attention: Patch coverage is 85.71429% with 56 lines in your changes missing coverage. Please review.

Project coverage is 71.98%. Comparing base (3937ccb) to head (6623d0f).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...ensearch/transport/protobuf/ProtoSerDeHelpers.java 80.15% 17 Missing and 9 partials ⚠️
.../transport/protobuf/FetchSearchResultProtobuf.java 0.00% 16 Missing ⚠️
...ensearch/transport/protobuf/SearchHitProtobuf.java 93.33% 5 Missing and 4 partials ⚠️
...rch/transport/TransportSerializationException.java 0.00% 2 Missing ⚠️
...nsearch/transport/protobuf/SearchHitsProtobuf.java 96.29% 1 Missing and 1 partial ⚠️
...nsearch/gradle/precommit/LicenseHeadersTask.groovy 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main   #15372      +/-   ##
============================================
+ Coverage     71.90%   71.98%   +0.07%     
- Complexity    64392    64457      +65     
============================================
  Files          5278     5282       +4     
  Lines        300877   301257     +380     
  Branches      43478    43548      +70     
============================================
+ Hits         216351   216853     +502     
+ Misses        66747    66583     -164     
- Partials      17779    17821      +42     

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

Copy link
Contributor

❕ Gradle check result for be1ad00: UNSTABLE

  • TEST FAILURES:
      1 org.opensearch.cluster.MinimumClusterManagerNodesIT.testThreeNodesNoClusterManagerBlock

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

Copy link
Contributor

❌ Gradle check result for 1dc0ad7: FAILURE

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 e430f8a: FAILURE

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 6623d0f: SUCCESS

Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Signed-off-by: Finn Carroll <[email protected]>
Copy link
Contributor

❌ Gradle check result for 9c79d90: FAILURE

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant