[merged segment warmer] support local merged segment warmer#18255
Conversation
Signed-off-by: guojialiang <guojialiang.2012@bytedance.com>
|
❌ Gradle check result for aa13d96: 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: guojialiang <guojialiang.2012@bytedance.com>
|
❌ Gradle check result for 1c1f802: 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 78795e3: 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? |
78795e3 to
58528e9
Compare
server/src/main/java/org/opensearch/index/engine/LocalMergedSegmentWarmer.java
Outdated
Show resolved
Hide resolved
Signed-off-by: guojialiang <guojialiang.2012@bytedance.com>
d2df443 to
a0b4e3a
Compare
|
❌ Gradle check result for a0b4e3a: 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? |
…ged-segment-warmer
|
❌ Gradle check result for cc5ea0b: 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 dedad5e: 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 3224f35: 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? |
|
Re-triggered the PR build. |
|
❌ Gradle check result for 3224f35: 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? |
Hi, @ashking94 |
|
I think I found the reason why the test fails. It seems that the test is not robust. I copied some exception logs from gradle test, which also proves this point. |
|
I have re-triggered the test. We can merge it after it becomes green. |
|
❌ Gradle check result for 3224f35: 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? |
Hi, @ashking94 It seems to be the same issue. Can we merge bugfix PR first and then run the gradle test? |
|
@guojialiang92 can you rebase with main now? |
Yeah |
…ged-segment-warmer
|
@ashking94 |
…ch-project#18255) * support local merged segment warmer Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * update log Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * fix test Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * add tests Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * IndexShard support getActiveReplicaNodes Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * add test Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * add pre-verification. Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * extend ReplicationAction instead of ActionRequest Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * reuse Store#getSegmentMetadataMap Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * refactor updateReplicationRateLimiter Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * extract an abstract base class (AbstractSegmentReplicationTarget) from SegmentReplicationTarget Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * reduce unnecessary exception judgment Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * fix UT Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * add PublishMergedSegmentActionTests Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * gradle spotlessApply Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * add test Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * rename ReplicationSegmentCheckpoint to MergeSegmentCheckpoint Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * add some description Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * refactor code Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * extract an abstract base class (AbstractPublishCheckpointAction) from PublishCheckpointAction Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * fix :server:japicmp Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * update Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> * update Signed-off-by: guojialiang <guojialiang.2012@bytedance.com> --------- Signed-off-by: guojialiang <guojialiang.2012@bytedance.com>
Description
This PR is based on [17881]'s follow-up work. It implements the core process of local merged segment warmer, and the main modifications are as follows:
IndexReaderWarmer#warm, the primary shard will send send aPublishMergedSegmentRequestrequest containing information about the merged segment (ReplicationSegmentCheckpointis introduced to represent the information of a merged segment) to all active state replicas.MergedSegmentReplicationTargetto pull segment from the primary shard. It has to reuse most of the capabilities inSegmentReplicationTarget. TheIndexReaderWarmer#warmprocess will not end until all active state replicas have completed pulling merged segment.There are also some orthogonal work that needs to be supported in the future, summarized as follows:
Related Issues
Resolves #[17528]
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.