Skip to content

Add ensureCustomSerialization to ensure that headers are serialized correctly with multiple transport hops#29

Open
cwperks wants to merge 10 commits intomainfrom
fix-bwc-custom-serialization
Open

Add ensureCustomSerialization to ensure that headers are serialized correctly with multiple transport hops#29
cwperks wants to merge 10 commits intomainfrom
fix-bwc-custom-serialization

Conversation

@cwperks
Copy link
Owner

@cwperks cwperks commented Sep 18, 2024

Description

This PR fixes multiple issue:

When upgrading from 2.11/2.12/2.13 to >= 2.14, there can be an issue when deserializing threadContext headers on the receiving node due to the transmitting node re-using the serialization format from a previous transport hop.

This was particular seen in scenarios where there are a chain of transport hops, such as 2.14 (Coordinator node) -> 2.14 node -> 2.12 node

These scenarios can happen on ingestion during rolling upgrades where a replica shard may temporarily be on an older node than a primary shard.

This PR adds logic in the SecurityInterceptor to re-serialize the headers if they have previously been populated from a prior transport hop for backwards compatibility.

This PR also removes logic ensureJdkSerialization.

  • Category (Enhancement, New feature, Bug fix, Test fix, Refactoring, Maintenance, Documentation)

Bug fix

Issues Resolved

Testing

Creating this PR in Draft until testing details are added.

Check List

  • New functionality includes testing
  • New functionality has been documented
  • New Roles/Permissions have a corresponding security dashboards plugin PR
  • API changes companion pull request created
  • Commits are signed per the DCO using --signoff

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.

…orrectly with multiple transport hops

Signed-off-by: Craig Perkins <[email protected]>
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