-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Disable Segment Replication Backpressure check for Warm Index #20116
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
base: main
Are you sure you want to change the base?
Disable Segment Replication Backpressure check for Warm Index #20116
Conversation
Signed-off-by: Gagan Singh Saini <gagasa@amazon.com>
WalkthroughThe changes add warm node detection to the replication action framework and modify bulk shard action logic to bypass segment replication and remote store backpressure checks when executing on warm nodes, while preserving existing behavior for non-warm nodes. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
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.
Actionable comments posted: 0
🧹 Nitpick comments (2)
server/src/main/java/org/opensearch/action/support/replication/TransportReplicationAction.java (1)
103-103: Warm-node flag wiring looks correct; consider clarifying node-vs-index semanticsThe new
isWarmNodefield is cleanly wired (static helper, final field, ctor init fromsettings) and safe to use from subclasses; no correctness concerns.Given the PR intent (“Warm Index”) but a node-level flag, it may be worth a short field Javadoc or slightly more explicit name (e.g.,
isWarmTierNode) to avoid future confusion with any potential per-index “warm” notion.Also applies to: 156-156, 259-259
server/src/main/java/org/opensearch/action/bulk/TransportShardBulkAction.java (1)
570-579: Backpressure bypass on warm nodes is correctly scoped; add rationale comment and confirm node-level intentThe updated guard:
if (force(request) == false && isWarmNode == false) { ... }preserves existing behavior for non‑warm nodes and cleanly disables both segment replication and remote store backpressure checks on warm nodes, while still delegating to
super.checkPrimaryLimits(...)for other protections. Functionally this matches the stated goal and looks correct.Two minor suggestions:
- Add a brief comment above this
ifexplaining that warm-tier nodes intentionally bypass segrep/remote-store backpressure (e.g., due to expected IO profile or isolation of warm workloads).- Re-check with the product/architectural intent that the bypass should be node-wide (all shards on a warm node) rather than strictly tied to specific “warm” indices; if the latter is ever required, this is the hook where an index-aware condition could be introduced.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
server/src/main/java/org/opensearch/action/bulk/TransportShardBulkAction.java(1 hunks)server/src/main/java/org/opensearch/action/support/replication/TransportReplicationAction.java(3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
- GitHub Check: gradle-check
- GitHub Check: Analyze (java)
- GitHub Check: detect-breaking-change
- GitHub Check: assemble (25, ubuntu-24.04-arm)
- GitHub Check: assemble (21, windows-latest)
- GitHub Check: precommit (25, macos-15-intel)
- GitHub Check: assemble (25, windows-latest)
- GitHub Check: precommit (25, ubuntu-24.04-arm)
- GitHub Check: assemble (25, ubuntu-latest)
- GitHub Check: precommit (21, ubuntu-latest)
- GitHub Check: precommit (21, windows-2025, true)
- GitHub Check: assemble (21, ubuntu-24.04-arm)
- GitHub Check: precommit (21, ubuntu-24.04-arm)
- GitHub Check: precommit (21, macos-15)
- GitHub Check: precommit (21, macos-15-intel)
- GitHub Check: assemble (21, ubuntu-latest)
- GitHub Check: precommit (25, macos-15)
- GitHub Check: precommit (25, windows-latest)
- GitHub Check: precommit (25, ubuntu-latest)
- GitHub Check: precommit (21, windows-latest)
|
❌ Gradle check result for f8f8a48: 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
Disable Segment Replication Backpressure check for Warm Index
Related Issues
Resolves
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.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.