Fix bwc issue with RemoteDiscoveryNodes - #20815
Conversation
Signed-off-by: Craig Perkins <cwperx@amazon.com>
PR Reviewer Guide 🔍(Review updated until commit b47e678)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to b47e678 Explore these optional code suggestions:
Previous suggestionsSuggestions up to commit 43d8165
Suggestions up to commit 0875f94
Suggestions up to commit 3c11e50
Suggestions up to commit 4535908
|
|
❌ Gradle check result for 4535908: 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? |
Signed-off-by: Craig Perkins <cwperx@amazon.com>
|
Persistent review updated to latest commit 3c11e50 |
|
❌ Gradle check result for 3c11e50: null 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? |
Signed-off-by: Craig Perkins <cwperx@amazon.com>
|
Persistent review updated to latest commit 0875f94 |
|
❌ Gradle check result for 0875f94: 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? |
|
Persistent review updated to latest commit 43d8165 |
|
❌ Gradle check result for 43d8165: 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? |
Signed-off-by: Craig Perkins <cwperx@amazon.com>
|
Persistent review updated to latest commit b47e678 |
|
❌ Gradle check result for b47e678: 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? |
Description
I saw this bwc error on another PR and dug a bit further into the issue. This issue arises on mixed cluster tests with 3.6.0 and 2.19.5 when using remote cluster state. I see a code path on the remote cluster state path that codes Version.CURRENT as the version for the output stream which disregards the actual version of a target node that would consume the state.
I was able to add
minimumCompatibleVersion()to get the lowest compatible node version to serialize any structures to ensure no bwc issues.Opening this up in Draft for feedback, it may also be possible to actually get the lowest version of a node in the cluster and serialize accordingly.
Related Issues
Fixes #20792 (comment)
Check List
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.