-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Refresh OpenSearch nodes version in cluster state after upgrade #865
Refresh OpenSearch nodes version in cluster state after upgrade #865
Conversation
❌ DCO Check Failed 1df4237eb82a3374ba42478347b9bcb78cff9b05 |
✅ Gradle Wrapper Validation success 1df4237eb82a3374ba42478347b9bcb78cff9b05 |
❌ Gradle Precommit failure 1df4237eb82a3374ba42478347b9bcb78cff9b05 |
I like it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 on the approach so far. Build fails due to simple compile issue. Will review further after integration and unit tests are added and we can merge in a 1.0.0 patch release since this will likely not make it in time for GA.
@shwetathareja Any update on getting Integration and Unit tests done? Do you think you could get this in for GA? If not we will need to get a bugfix release out pretty quickly after GA. |
@shwetathareja Hey -- we're running out of runway for 1.0.0 and this seems like something we'd want to get in. Can you get your tests in? |
❌ DCO Check Failed 54ef87927cffb5a70edd52d2fc4de97e6d928a9d |
✅ Gradle Wrapper Validation success 54ef87927cffb5a70edd52d2fc4de97e6d928a9d |
❌ Gradle Precommit failure 54ef87927cffb5a70edd52d2fc4de97e6d928a9d |
Thanks, @shwetathareja ! I'll look for it in our AM :) |
✅ Gradle Wrapper Validation success 12717a5455f85e062276ae861270155a078a7ea6 |
❌ DCO Check Failed 12717a5455f85e062276ae861270155a078a7ea6 |
✅ Gradle Wrapper Validation success 191133e0770b7629b263687d96b0ced3a6d72a0a |
❌ DCO Check Failed 191133e0770b7629b263687d96b0ced3a6d72a0a |
❌ Gradle Precommit failure 12717a5455f85e062276ae861270155a078a7ea6 |
❌ Gradle Precommit failure 191133e0770b7629b263687d96b0ced3a6d72a0a |
✅ Gradle Wrapper Validation success 34e53070801c94aab59ba7e93262e398167f0ee2 |
❌ DCO Check Failed 34e53070801c94aab59ba7e93262e398167f0ee2 |
✅ Gradle Precommit success 34e53070801c94aab59ba7e93262e398167f0ee2 |
@nknize @adnapibar @dblock please review. |
start gradle check |
1 similar comment
start gradle check |
✅ Gradle Check success 34e53070801c94aab59ba7e93262e398167f0ee2 |
The changes look good but I see the a few bwc tests for mixed cluster are failing (these pass in
|
Looks like the BWC tests have become flaky and I can also see these in the main branch after a rerun. I have created an issue to investigate and resolve these separately #922 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - couple of minor questions.
Also please fix the DCO check.
@@ -367,7 +367,7 @@ public void writeTo(StreamOutput out) throws IOException { | |||
} | |||
} | |||
} | |||
if (out.getVersion().before(Version.V_1_0_0)) { | |||
if (out.getVersion().before(Version.V_1_0_0) && version.onOrAfter(Version.V_1_0_0)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you please help me understand why we're adding this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so, DiscoveryNode writeTo serialization method can be triggered from multiple places e.g. when cluster state is being sent from one node to another and BWC version should be set for only OpenSearch nodes. Without this check, it will mess with the version for Elasticsearch nodes in the cluster as well which ideally should be untouched.
// there is an edge case if doesn't send JoinRequest and connection is established, | ||
// then it can continue to report version as 7.10.2 instead of actual OpenSearch version. So, | ||
// removing the node from cluster state to prevent stale version reporting and let it reconnect. | ||
if (node.getVersion().equals(LegacyESVersion.V_7_10_2)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can it not be any other legacy version e.g. 6.8.x or 7.10.x which we are upgrading from?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're only concerned about the OpenSearch nodes in BWC mode, any other ES node that is not yet upgraded should run in mixed cluster - is that correct understanding?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For other ES versions, the version in cluster state and channel version would always be same. So, there is no need for special handling. Its only for OpenSearch nodes which spoof to be 7.10.2 and we don't know if it is real 7.10.2 or OpenSearch node spoofing its version.
@shwetathareja Heya Shweta -- we're holding the build for this fix, so if you could fix your DCO, we're going slam the door on 1.0.0 behind you. So if you can fix that and merge when you get in, we should be good to go in our AM :) Thanks, |
Signed-off-by: Shweta Thareja <tharejas@amazon.com>
34e5307
to
c75f5e3
Compare
✅ Gradle Wrapper Validation success c75f5e3 |
✅ DCO Check Passed c75f5e3 |
✅ Gradle Precommit success c75f5e3 |
start gradle check |
…search-project#865) Signed-off-by: Shweta Thareja <tharejas@amazon.com> Co-authored-by: Shweta Thareja <tharejas@amazon.com>
#926) Signed-off-by: Shweta Thareja <tharejas@amazon.com> Co-authored-by: shwetathareja <shwetathareja@live.com>
#926) Signed-off-by: Shweta Thareja <tharejas@amazon.com> Co-authored-by: shwetathareja <shwetathareja@live.com>
This change removes code that was written to support rolling upgrade from Elasticsearch 7.10.2 to OpenSearch 1.x, as part of PR #865 Signed-off-by: Rabi Panda <adnapibar@gmail.com> Signed-off-by: Rabi Panda <adnapibar@gmail.com>
…ch-project#865) Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
Description
PR for fixing the issue #827
Fix:
Issues Resolved
#827
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.