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

Replacing InboundMessage with NativeInboundMessage for deprecation #13126

Merged
merged 2 commits into from
Apr 18, 2024

Conversation

VachaShah
Copy link
Collaborator

@VachaShah VachaShah commented Apr 8, 2024

Description

InboundMessage was deprecated in #12967 and replaced with NativeInboundMessage. Replacing instances in code for the same.

Related Issues

Resolves #[Issue number to be closed when this PR is merged]

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
  • Commits are signed per the DCO using --signoff
  • Commit changes are listed out in CHANGELOG.md file (See: Changelog)
  • Public documentation issue/PR created

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

github-actions bot commented Apr 8, 2024

Compatibility status:

Checks if related components are compatible with change 3d4ab18

Incompatible components

Skipped components

Compatible components

Compatible components: [https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/flow-framework.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/performance-analyzer.git]

Copy link
Contributor

github-actions bot commented Apr 8, 2024

❌ Gradle check result for 38e668c: 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?

@reta
Copy link
Collaborator

reta commented Apr 8, 2024

@VachaShah this is for 3.0 only, right? PS: I think we'll have hard time backporting further changes if we take this path now

@VachaShah
Copy link
Collaborator Author

@VachaShah this is for 3.0 only, right? PS: I think we'll have hard time backporting further changes if we take this path now

Yeah this is only for 3.0 since InboundMessage is going to be there in the 2.x line. I did this now so that its not forgotten to be done in the future.

@VachaShah
Copy link
Collaborator Author

❌ Gradle check result for 38e668c: 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?

Test Result (1 failure / +1)
org.opensearch.snapshots.InternalSnapshotsInfoServiceTests.testErroneousSnapshotShardSizes

@VachaShah
Copy link
Collaborator Author

Or I can remove InboundMessage in this same PR and not backport this PR all together. Let me know what you guys think.

The issue as I see it is that all usages of InboundMessage are replaced with NativeInboundMessage, this is fine but for anyone relying on InboundMessage (fe TcpTransport::inboundMessage(TcpChannel channel, InboundMessage message)), the methods will never be called.

Makes sense! I will remove InboundMessage in this PR and keep this change only for main.

Copy link
Contributor

❌ Gradle check result for 3d4ab18: 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 3d4ab18: 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?

@VachaShah
Copy link
Collaborator Author

Looks like the BWC tests started failing after removing the InboundMessage class all together. Will look into the test failures.

Signed-off-by: Vacha Shah <vachshah@amazon.com>
Signed-off-by: Vacha Shah <vachshah@amazon.com>
Copy link
Contributor

❌ Gradle check result for adccc66: 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?

@VachaShah
Copy link
Collaborator Author

❌ Gradle check result for adccc66: 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?

Test Result (1 failure / +1)
org.opensearch.index.remote.RemoteSegmentTransferTrackerTests.testComputeTimeLagOnUpdate

#12639

Copy link
Contributor

✅ Gradle check result for adccc66: SUCCESS

@dblock
Copy link
Member

dblock commented Apr 17, 2024

@reta Good to merge the breaking change?

@reta
Copy link
Collaborator

reta commented Apr 17, 2024

@reta Good to merge the breaking change?

Ah ... @dblock could you please hold on? We've been recently fighting with an issue (along with @peternied ) that merging breaking change in one pull request impacts the checks for other pull requests. There is nothing wrong with breaking change in major release, but we have a flaw in our checks currently.

Copy link
Member

@dblock dblock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking per @reta.

@reta
Copy link
Collaborator

reta commented Apr 18, 2024

Blocking per @reta.

The relevant change is under discussion #13283

@reta reta requested a review from dblock April 18, 2024 15:01
@reta
Copy link
Collaborator

reta commented Apr 18, 2024

@dblock we should be cleared out, the check is disabled on main now

@dblock dblock merged commit f5c3ef9 into opensearch-project:main Apr 18, 2024
33 of 34 checks passed
@reta
Copy link
Collaborator

reta commented Apr 18, 2024

Note on the failing detect-breaking-change: the pull request was merged with this check failing, the check itself is disabled on main now (#13283)

andrross added a commit to andrross/OpenSearch that referenced this pull request Aug 27, 2024
andrross added a commit to andrross/OpenSearch that referenced this pull request Aug 28, 2024
andrross added a commit to andrross/OpenSearch that referenced this pull request Aug 28, 2024
…ation (opensearch-project#13126)"

This reverts commit f5c3ef9.

Signed-off-by: Andrew Ross <andrross@amazon.com>
andrross added a commit to andrross/OpenSearch that referenced this pull request Aug 28, 2024
…ation (opensearch-project#13126)"

This reverts commit f5c3ef9.

Signed-off-by: Andrew Ross <andrross@amazon.com>
andrross added a commit to andrross/OpenSearch that referenced this pull request Aug 28, 2024
…ation (opensearch-project#13126)"

This reverts commit f5c3ef9.

Signed-off-by: Andrew Ross <andrross@amazon.com>
andrross added a commit that referenced this pull request Aug 28, 2024
* Revert "Replacing InboundMessage with NativeInboundMessage for deprecation (#13126)"

This reverts commit f5c3ef9.

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Change abstraction point for transport protocol

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>

---------

Signed-off-by: Andrew Ross <andrross@amazon.com>
akolarkunnu pushed a commit to akolarkunnu/OpenSearch that referenced this pull request Sep 10, 2024
…5432)

* Revert "Replacing InboundMessage with NativeInboundMessage for deprecation (opensearch-project#13126)"

This reverts commit f5c3ef9.

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Change abstraction point for transport protocol

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>

---------

Signed-off-by: Andrew Ross <andrross@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip-changelog v3.0.0 Issues and PRs related to version 3.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants