-
Notifications
You must be signed in to change notification settings - Fork 2.1k
[Pull-based ingestion] Support multi-threaded writes in pull based ingestion #17912
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
[Pull-based ingestion] Support multi-threaded writes in pull based ingestion #17912
Conversation
ec2b1ed
to
bd15ddb
Compare
❌ Gradle check result for bd15ddb: 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? |
server/src/main/java/org/opensearch/indices/pollingingest/MessageProcessorRunnable.java
Show resolved
Hide resolved
server/src/main/java/org/opensearch/indices/pollingingest/MessageProcessorRunnable.java
Show resolved
Hide resolved
...er/src/main/java/org/opensearch/indices/pollingingest/PartitionedBlockingQueueContainer.java
Show resolved
Hide resolved
...er/src/main/java/org/opensearch/indices/pollingingest/PartitionedBlockingQueueContainer.java
Show resolved
Hide resolved
bd15ddb
to
4a2e9d0
Compare
❌ Gradle check result for f5027e7: TIMEOUT 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? |
...er/src/main/java/org/opensearch/indices/pollingingest/PartitionedBlockingQueueContainer.java
Show resolved
Hide resolved
❌ Gradle check result for f5027e7: 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? |
❌ Gradle check result for f5027e7: 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? |
❌ Gradle check result for f5027e7: 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? |
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
Signed-off-by: Varun Bharadwaj <[email protected]>
f5027e7
to
7e0dd19
Compare
❕ Gradle check result for 7e0dd19: 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 ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #17912 +/- ##
============================================
+ Coverage 72.51% 72.54% +0.03%
+ Complexity 67108 67074 -34
============================================
Files 5475 5478 +3
Lines 309916 310013 +97
Branches 45060 45065 +5
============================================
+ Hits 224725 224911 +186
+ Misses 66895 66685 -210
- Partials 18296 18417 +121 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…ject#17912) Signed-off-by: Varun Bharadwaj <[email protected]> Signed-off-by: Tanishq Ranjan <[email protected]>
…ject#17912) Signed-off-by: Varun Bharadwaj <[email protected]> Signed-off-by: Harsh Kothari <[email protected]>
…ject#17912) Signed-off-by: Varun Bharadwaj <[email protected]> Signed-off-by: Harsh Kothari <[email protected]>
Description
This PR adds multi-threaded writer support in the pull-based ingestion flow. The incoming message will be hashed by ID and written to one of the blocking queue partitions. A processor thread will be started to consume and process updates from each blocking queue partition. This thread will handoff the updates to the engine to update the index.
Number of processor threads can be defined at the time of index creation by setting ingestion_source.num_processor_threads. If not set, a default value of 1 will be used.During shard recovery, the minimum shard pointer tracked across processor threads will be used the the start point.
Related Issues
Resolves #17875
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.