Skip to content

Commit 5bb2e28

Browse files
authored
Flaky test : Don't use async repo for SplitIndex and wait for translo… (#15107) (#15200)
* Flaky test : Don't use async repo for SplitIndex and wait for translog file deletion Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>
1 parent ae5f7d6 commit 5bb2e28

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

server/src/internalClusterTest/java/org/opensearch/action/admin/indices/create/RemoteSplitIndexIT.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import org.opensearch.action.index.IndexRequest;
4747
import org.opensearch.action.index.IndexRequestBuilder;
4848
import org.opensearch.action.search.SearchResponse;
49+
import org.opensearch.action.support.IndicesOptions;
4950
import org.opensearch.client.Client;
5051
import org.opensearch.cluster.ClusterState;
5152
import org.opensearch.cluster.metadata.IndexMetadata;
@@ -69,12 +70,15 @@
6970
import org.opensearch.remotestore.RemoteStoreBaseIntegTestCase;
7071
import org.opensearch.test.OpenSearchIntegTestCase;
7172
import org.opensearch.test.VersionUtils;
73+
import org.junit.After;
74+
import org.junit.Before;
7275

7376
import java.io.IOException;
7477
import java.io.UncheckedIOException;
7578
import java.util.Arrays;
7679
import java.util.HashSet;
7780
import java.util.Set;
81+
import java.util.concurrent.TimeUnit;
7882
import java.util.function.BiFunction;
7983
import java.util.stream.IntStream;
8084

@@ -89,12 +93,32 @@
8993

9094
@OpenSearchIntegTestCase.ClusterScope(scope = OpenSearchIntegTestCase.Scope.TEST, numDataNodes = 0)
9195
public class RemoteSplitIndexIT extends RemoteStoreBaseIntegTestCase {
96+
@Before
97+
public void setup() {
98+
asyncUploadMockFsRepo = false;
99+
}
92100

93101
@Override
94102
protected boolean forbidPrivateIndexSettings() {
95103
return false;
96104
}
97105

106+
@After
107+
public void cleanUp() throws Exception {
108+
// Delete is async.
109+
assertAcked(
110+
client().admin().indices().prepareDelete("*").setIndicesOptions(IndicesOptions.LENIENT_EXPAND_OPEN_CLOSED_HIDDEN).get()
111+
);
112+
assertBusy(() -> {
113+
try {
114+
assertEquals(0, getFileCount(translogRepoPath));
115+
} catch (IOException e) {
116+
fail();
117+
}
118+
}, 30, TimeUnit.SECONDS);
119+
super.teardown();
120+
}
121+
98122
public Settings indexSettings() {
99123
return Settings.builder()
100124
.put(super.indexSettings())

server/src/internalClusterTest/java/org/opensearch/remotestore/RemoteStoreBaseIntegTestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ public void assertRemoteStoreRepositoryOnAllNodes(String repositoryName) {
313313
}
314314
}
315315

316-
public static int getFileCount(Path path) throws Exception {
316+
public static int getFileCount(Path path) throws IOException {
317317
final AtomicInteger filesExisting = new AtomicInteger(0);
318318
Files.walkFileTree(path, new SimpleFileVisitor<>() {
319319
@Override

server/src/internalClusterTest/java/org/opensearch/remotestore/RemoteStoreStatsIT.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.opensearch.test.InternalTestCluster;
3030
import org.opensearch.test.OpenSearchIntegTestCase;
3131
import org.opensearch.test.disruption.NetworkDisruption;
32+
import org.opensearch.test.junit.annotations.TestLogging;
3233
import org.opensearch.test.transport.MockTransportService;
3334

3435
import java.io.IOException;
@@ -257,6 +258,7 @@ public void testStatsResponseFromLocalNode() {
257258
}
258259
}
259260

261+
@TestLogging(reason = "Getting trace logs from remote store package", value = "org.opensearch.index.shard:TRACE")
260262
public void testDownloadStatsCorrectnessSinglePrimarySingleReplica() throws Exception {
261263
setup();
262264
// Scenario:
@@ -285,6 +287,15 @@ public void testDownloadStatsCorrectnessSinglePrimarySingleReplica() throws Exce
285287
.collect(Collectors.toList())
286288
.get(0)
287289
.getSegmentStats();
290+
logger.info(
291+
"Zero state primary stats: {}ms refresh time lag, {}b bytes lag, {}b upload bytes started, {}b upload bytes failed , {} uploads succeeded, {} upload byes succeeded.",
292+
zeroStatePrimaryStats.refreshTimeLagMs,
293+
zeroStatePrimaryStats.bytesLag,
294+
zeroStatePrimaryStats.uploadBytesStarted,
295+
zeroStatePrimaryStats.uploadBytesFailed,
296+
zeroStatePrimaryStats.totalUploadsSucceeded,
297+
zeroStatePrimaryStats.uploadBytesSucceeded
298+
);
288299
assertTrue(
289300
zeroStatePrimaryStats.totalUploadsStarted == zeroStatePrimaryStats.totalUploadsSucceeded
290301
&& zeroStatePrimaryStats.totalUploadsSucceeded == 1
@@ -347,6 +358,7 @@ public void testDownloadStatsCorrectnessSinglePrimarySingleReplica() throws Exce
347358
}
348359
}
349360

361+
@TestLogging(reason = "Getting trace logs from remote store package", value = "org.opensearch.index.shard:TRACE")
350362
public void testDownloadStatsCorrectnessSinglePrimaryMultipleReplicaShards() throws Exception {
351363
setup();
352364
// Scenario:
@@ -379,6 +391,15 @@ public void testDownloadStatsCorrectnessSinglePrimaryMultipleReplicaShards() thr
379391
.collect(Collectors.toList())
380392
.get(0)
381393
.getSegmentStats();
394+
logger.info(
395+
"Zero state primary stats: {}ms refresh time lag, {}b bytes lag, {}b upload bytes started, {}b upload bytes failed , {} uploads succeeded, {} upload byes succeeded.",
396+
zeroStatePrimaryStats.refreshTimeLagMs,
397+
zeroStatePrimaryStats.bytesLag,
398+
zeroStatePrimaryStats.uploadBytesStarted,
399+
zeroStatePrimaryStats.uploadBytesFailed,
400+
zeroStatePrimaryStats.totalUploadsSucceeded,
401+
zeroStatePrimaryStats.uploadBytesSucceeded
402+
);
382403
assertTrue(
383404
zeroStatePrimaryStats.totalUploadsStarted == zeroStatePrimaryStats.totalUploadsSucceeded
384405
&& zeroStatePrimaryStats.totalUploadsSucceeded == 1
@@ -608,7 +629,7 @@ public void testNonZeroPrimaryStatsOnNewlyCreatedIndexWithZeroDocs() throws Exce
608629
}
609630
assertZeroTranslogDownloadStats(translogStats);
610631
});
611-
}, 5, TimeUnit.SECONDS);
632+
}, 10, TimeUnit.SECONDS);
612633
}
613634

614635
public void testStatsCorrectnessOnFailover() {

0 commit comments

Comments
 (0)