Skip to content

Conversation

@varunbharadwaj
Copy link
Contributor

Description

This PR adds support for cluster write blocks in pull-based ingestion flow. The stream poller is enhanced to listen to cluster state changes and the poller is paused when a write block is active, and resumed when the write block is removed.

GetIngestionState API is also enhanced to reflect the write block status of the poller.

Related Issues

Resolves #18279

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.

@github-actions github-actions bot added enhancement Enhancement or improvement to existing feature or request Indexing Indexing, Bulk Indexing and anything related to indexing labels May 13, 2025
@github-actions
Copy link
Contributor

❌ Gradle check result for 608546c: 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?

@github-actions
Copy link
Contributor

❌ Gradle check result for 886688e: 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?

@varunbharadwaj varunbharadwaj force-pushed the vb/clusterblock branch 2 times, most recently from 7c64364 to 1c58b78 Compare May 13, 2025 21:56
@github-actions
Copy link
Contributor

❕ Gradle check result for 1c58b78: UNSTABLE

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

@codecov
Copy link

codecov bot commented May 13, 2025

Codecov Report

Attention: Patch coverage is 89.47368% with 4 lines in your changes missing coverage. Please review.

Project coverage is 72.51%. Comparing base (a7b3d97) to head (62f3c80).
Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
.../streamingingestion/state/ShardIngestionState.java 60.00% 2 Missing ⚠️
...a/org/opensearch/index/engine/IngestionEngine.java 88.88% 0 Missing and 1 partial ⚠️
...rch/indices/pollingingest/DefaultStreamPoller.java 93.75% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main   #18280      +/-   ##
============================================
- Coverage     72.56%   72.51%   -0.05%     
+ Complexity    67391    67360      -31     
============================================
  Files          5488     5488              
  Lines        311030   311062      +32     
  Branches      45216    45217       +1     
============================================
- Hits         225687   225570     -117     
- Misses        66916    67087     +171     
+ Partials      18427    18405      -22     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Contributor

✅ Gradle check result for 6964d30: SUCCESS

@github-actions
Copy link
Contributor

❌ Gradle check result for b00ceb7: 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?

@github-actions
Copy link
Contributor

❌ Gradle check result for b00ceb7: 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: Varun Bharadwaj <[email protected]>
@github-actions
Copy link
Contributor

✅ Gradle check result for 62f3c80: SUCCESS

@yupeng9 yupeng9 merged commit 6de6f93 into opensearch-project:main May 14, 2025
57 of 58 checks passed
tanik98 pushed a commit to tanik98/OpenSearch that referenced this pull request May 27, 2025
…ct#18280)

* Support cluster write blocks in pull-based ingestion

Signed-off-by: Varun Bharadwaj <[email protected]>

* Update poller from cluster state applier to listener

Signed-off-by: Varun Bharadwaj <[email protected]>

* Add unit tests

Signed-off-by: Varun Bharadwaj <[email protected]>

---------

Signed-off-by: Varun Bharadwaj <[email protected]>
tandonks pushed a commit to tandonks/OpenSearch that referenced this pull request Jun 1, 2025
…ct#18280)

* Support cluster write blocks in pull-based ingestion

Signed-off-by: Varun Bharadwaj <[email protected]>

* Update poller from cluster state applier to listener

Signed-off-by: Varun Bharadwaj <[email protected]>

* Add unit tests

Signed-off-by: Varun Bharadwaj <[email protected]>

---------

Signed-off-by: Varun Bharadwaj <[email protected]>
neuenfeldttj pushed a commit to neuenfeldttj/OpenSearch that referenced this pull request Jun 26, 2025
…ct#18280)

* Support cluster write blocks in pull-based ingestion

Signed-off-by: Varun Bharadwaj <[email protected]>

* Update poller from cluster state applier to listener

Signed-off-by: Varun Bharadwaj <[email protected]>

* Add unit tests

Signed-off-by: Varun Bharadwaj <[email protected]>

---------

Signed-off-by: Varun Bharadwaj <[email protected]>Signed-off-by: TJ Neuenfeldt <[email protected]>
neuenfeldttj pushed a commit to neuenfeldttj/OpenSearch that referenced this pull request Jun 26, 2025
…ct#18280)

* Support cluster write blocks in pull-based ingestion

Signed-off-by: Varun Bharadwaj <[email protected]>

* Update poller from cluster state applier to listener

Signed-off-by: Varun Bharadwaj <[email protected]>

* Add unit tests

Signed-off-by: Varun Bharadwaj <[email protected]>

---------

Signed-off-by: Varun Bharadwaj <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Enhancement or improvement to existing feature or request Indexing Indexing, Bulk Indexing and anything related to indexing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Support cluster write block in pull-based ingestion

4 participants