-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Fixing unblock condition for index create block #9437
Fixing unblock condition for index create block #9437
Conversation
Gradle Check (Jenkins) Run Completed with:
|
95990be
to
a445b85
Compare
Compatibility status:Checks if related components are compatible with change bf10ff7 Incompatible componentsIncompatible components: [https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/security-analytics.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git] |
Gradle Check (Jenkins) Run Completed with:
|
Codecov Report
@@ Coverage Diff @@
## main #9437 +/- ##
============================================
+ Coverage 71.07% 71.19% +0.11%
- Complexity 57448 57504 +56
============================================
Files 4778 4778
Lines 270906 270912 +6
Branches 39584 39585 +1
============================================
+ Hits 192555 192873 +318
+ Misses 62173 61847 -326
- Partials 16178 16192 +14
|
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.
Generally LGTM but I'm not sure I understand what's being fixed. The linked issue in the comments hasn't been replaced. The change log refers to a blank issue number.
server/src/main/java/org/opensearch/cluster/routing/allocation/DiskThresholdMonitor.java
Outdated
Show resolved
Hide resolved
server/src/test/java/org/opensearch/cluster/routing/allocation/DiskThresholdMonitorTests.java
Show resolved
Hide resolved
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
1a5ae92
to
139de42
Compare
Compatibility status:Checks if related components are compatible with change 48d4087 Incompatible componentsIncompatible components: [https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/security-analytics.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git] |
Gradle Check (Jenkins) Run Completed with:
|
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!
This will help avoid removal of the blocks in the very next invocation of disk threshold monitor.
139de42
to
e34f986
Compare
Gradle Check (Jenkins) Run Completed with:
|
e34f986
to
56df081
Compare
Gradle Check (Jenkins) Run Completed with:
|
server/src/main/java/org/opensearch/cluster/routing/allocation/DiskThresholdMonitor.java
Outdated
Show resolved
Hide resolved
Overall changes look good. Please link bug issue in the PR description also resolve the conflict with |
Signed-off-by: Rishav Sagar <rissag@amazon.com>
56df081
to
89198f5
Compare
Gradle Check (Jenkins) Run Completed with:
|
The backport to
To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch/backport-2.x
# Create a new branch
git switch --create backport/backport-9437-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 4e688086bcab9d7274597f4e8cc59e7456673a83
# Push it to GitHub
git push --set-upstream origin backport/backport-9437-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch/backport-2.x Then, create a pull request where the |
Background
#5852
Description
As of now condition check for releasing IndexCreate block is that there should be an existing IndexCreateBlock on the cluster and auto release of the index create block is enabled. Issue in this condition is it will always evaluates to true in alternate iterations if auto release is enabled. So first time block got applied because of less space. Then in subsequent iteration it will get released due to above bug. Since DiskThresoldMonitor is also resetting the last runtime milliseconds every time we add and release blocks, nodes once evaluated to be above high watermarkwill never removed from this list even if enough space is available on the node. So all the node will always be considered above high watermark. Thus reapplying block. This keeps going in a loop. This PR fixes this issue by correcting unblock criteria.
Related Issues
Resolves #[Issue number to be closed when this PR is merged]
#9531
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.