Skip to content

Commit

Permalink
Fix flakyness in RemoteStoreRefreshListenerTests (#8550) (#8562)
Browse files Browse the repository at this point in the history
---------


(cherry picked from commit 9fd1ddb)

Signed-off-by: Ashish Singh <ssashish@amazon.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
  • Loading branch information
1 parent cd82f4c commit aecf435
Showing 1 changed file with 13 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
import org.opensearch.cluster.service.ClusterService;
import org.opensearch.common.collect.Tuple;
import org.opensearch.common.concurrent.GatedCloseable;
import org.opensearch.common.lease.Releasable;
import org.opensearch.common.settings.ClusterSettings;
import org.opensearch.common.settings.Settings;
import org.opensearch.common.lease.Releasable;
import org.opensearch.index.engine.InternalEngineFactory;
import org.opensearch.index.remote.RemoteRefreshSegmentPressureService;
import org.opensearch.index.remote.RemoteRefreshSegmentTracker;
Expand Down Expand Up @@ -249,10 +249,7 @@ public void testRefreshSuccessOnFirstAttempt() throws Exception {
assertBusy(() -> assertEquals(0, successLatch.getCount()));
RemoteRefreshSegmentPressureService pressureService = tuple.v2();
RemoteRefreshSegmentTracker segmentTracker = pressureService.getRemoteRefreshSegmentTracker(indexShard.shardId());
assertEquals(0, segmentTracker.getBytesLag());
assertEquals(0, segmentTracker.getRefreshSeqNoLag());
assertEquals(0, segmentTracker.getTimeMsLag());
assertEquals(0, segmentTracker.getTotalUploadsFailed());
assertNoLagAndTotalUploadsFailed(segmentTracker, 0);
}

public void testRefreshSuccessOnSecondAttempt() throws Exception {
Expand All @@ -273,10 +270,7 @@ public void testRefreshSuccessOnSecondAttempt() throws Exception {
assertBusy(() -> assertEquals(0, successLatch.getCount()));
RemoteRefreshSegmentPressureService pressureService = tuple.v2();
RemoteRefreshSegmentTracker segmentTracker = pressureService.getRemoteRefreshSegmentTracker(indexShard.shardId());
assertEquals(0, segmentTracker.getBytesLag());
assertEquals(0, segmentTracker.getRefreshSeqNoLag());
assertEquals(0, segmentTracker.getTimeMsLag());
assertEquals(1, segmentTracker.getTotalUploadsFailed());
assertNoLagAndTotalUploadsFailed(segmentTracker, 1);
}

/**
Expand Down Expand Up @@ -305,7 +299,7 @@ public void testRefreshSuccessAfterFailureInFirstAttemptAfterSnapshotAndMetadata
assertBusy(() -> assertEquals(0, reachedCheckpointPublishLatch.getCount()));
}

public void testRefreshSuccessOnThirdAttemptAttempt() throws Exception {
public void testRefreshSuccessOnThirdAttempt() throws Exception {
// This covers 3 cases - 1) isRetry=false, shouldRetry=true 2) isRetry=true, shouldRetry=false 3) isRetry=True, shouldRetry=true
// Succeed on 3rd attempt
int succeedOnAttempt = 3;
Expand All @@ -323,11 +317,16 @@ public void testRefreshSuccessOnThirdAttemptAttempt() throws Exception {
assertBusy(() -> assertEquals(0, successLatch.getCount()));
RemoteRefreshSegmentPressureService pressureService = tuple.v2();
RemoteRefreshSegmentTracker segmentTracker = pressureService.getRemoteRefreshSegmentTracker(indexShard.shardId());
assertEquals(0, segmentTracker.getBytesLag());
assertEquals(0, segmentTracker.getRefreshSeqNoLag());
assertEquals(0, segmentTracker.getTimeMsLag());
assertEquals(2, segmentTracker.getTotalUploadsFailed());
assertNoLagAndTotalUploadsFailed(segmentTracker, 2);
}

private void assertNoLagAndTotalUploadsFailed(RemoteRefreshSegmentTracker segmentTracker, long totalUploadsFailed) throws Exception {
assertBusy(() -> {
assertEquals(0, segmentTracker.getBytesLag());
assertEquals(0, segmentTracker.getRefreshSeqNoLag());
assertEquals(0, segmentTracker.getTimeMsLag());
assertEquals(totalUploadsFailed, segmentTracker.getTotalUploadsFailed());
});
}

public void testTrackerData() throws Exception {
Expand Down

0 comments on commit aecf435

Please sign in to comment.