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

[Draft]: Graceful decommission support #4082

Conversation

pranikum
Copy link
Contributor

@pranikum pranikum commented Aug 2, 2022

Description

Changes for Graceful Node decommission.
This PR is on top of Node decommission PR. And has changes for handling graceful decommission.
When request for node decommission is received we will check the HTTP stats for the nodes being decommissioned. If the decommissioned nodes have active http request open we will wait for these active requests to be completed.

The real change related to graceful decommission is in.
https://github.com/opensearch-project/OpenSearch/pull/4082/files#diff-849967a77ed9b839e5b6de9ef959bf8c01dbb3dcb139813dab7c093e8ac0b0c2

Rest are taken from Dependent PR

Depends On: #3920

Issues Resolved

3956

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • 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.

imRishN and others added 27 commits August 1, 2022 19:02
Signed-off-by: Rishab Nahata <rnnahata@amazon.com>
Signed-off-by: Rishab Nahata <rnnahata@amazon.com>
…er and BusyMasterServiceDisruption (opensearch-project#4058)

To support inclusive language, the master terminology is going to be replaced by cluster manager in the code base.

In a previous PR opensearch-project#4051, 3 classes in `test/framework` directory that contains `master` in the name were renamed:
```
FakeThreadPoolMasterService -> FakeThreadPoolClusterManagerService
BlockMasterServiceOnMaster -> BlockClusterManagerServiceOnClusterManager
BusyMasterServiceDisruption -> BusyClusterManagerServiceDisruption
```

This is a following commit to add back the classes with the old name to keep the backwards compatibility. The classes with the old name will be subclass of the classes with new name, so that maintaining one implementation can support the usage for two classes.

Signed-off-by: Tianli Feng <ftianli@amazon.com>
Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
* Upgrading dependencies for hadoop and aws-java-sdk

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

* Fixing precommit

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

* Upgrading transitive dependencies

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

* Excluding transitive dependencies

Signed-off-by: Vacha Shah <vachshah@amazon.com>
Bumps com.diffplug.spotless from 6.8.0 to 6.9.0.

---
updated-dependencies:
- dependency-name: com.diffplug.spotless
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…pensearch-project#4019)

* Bump protobuf-java from 3.21.2 to 3.21.4 in /plugins/repository-hdfs

Bumps [protobuf-java](https://github.com/protocolbuffers/protobuf) from 3.21.2 to 3.21.4.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/generate_changelog.py)
- [Commits](protocolbuffers/protobuf@v3.21.2...v3.21.4)

---
updated-dependencies:
- dependency-name: com.google.protobuf:protobuf-java
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Updating SHAs

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Signed-off-by: pranikum <109206473+pranikum@users.noreply.github.com>
@pranikum pranikum requested review from a team and reta as code owners August 2, 2022 06:05
@pranikum pranikum changed the title [Draft]: Graceful decommission support 2 [Draft]: Graceful decommission support Aug 2, 2022

private void delay(long delayMillis) {
try {
Thread.sleep(delayMillis);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Will look into removing Thead.sleep call as per the comment

pranikum#1 (comment)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 2, 2022

Gradle Check (Jenkins) Run Completed with:

Signed-off-by: pranikum <109206473+pranikum@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Aug 4, 2022

Gradle Check (Jenkins) Run Completed with:

@anasalkouz
Copy link
Member

@pranikum @Bukhtawar this PR has been there as draft for 300+ days? any plans to productionalize it?

@pranikum
Copy link
Contributor Author

pranikum commented Jun 7, 2023

Closing the PR since we have take care as part of another PR:
#4586

@pranikum pranikum closed this Jun 7, 2023
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.

6 participants