Skip to content

Commit

Permalink
backport opensearch-project#12488 to 2.x branch.
Browse files Browse the repository at this point in the history
Signed-off-by: Rishikesh1159 <[email protected]>
  • Loading branch information
Rishikesh1159 committed May 27, 2024
1 parent 6f9ee95 commit fb8c0b1
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -686,6 +686,7 @@ public void testCacheWithInvalidation() throws Exception {
.put(IndicesRequestCache.INDEX_CACHE_REQUEST_ENABLED_SETTING.getKey(), true)
.put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, 1)
.put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 0)
.put("index.refresh_interval", -1)
)
.get()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@ protected int numberOfReplicas() {
return 1;
}

@Override
public boolean useRandomReplicationStrategy() {
return true;
}

public void testPromoteReplicaToPrimary() throws Exception {
final String indexName = randomAlphaOfLength(5).toLowerCase(Locale.ROOT);
createIndex(indexName);
Expand All @@ -65,7 +70,7 @@ public void testPromoteReplicaToPrimary() throws Exception {
try (BackgroundIndexer indexer = new BackgroundIndexer(indexName, "_doc", client(), numOfDocs)) {
waitForDocs(numOfDocs, indexer);
}
refresh(indexName);
refreshAndWaitForReplication(indexName);
}

assertHitCount(client().prepareSearch(indexName).setSize(0).get(), numOfDocs);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,14 @@ public abstract class OpenSearchIntegTestCase extends OpenSearchTestCase {
*/
public static final String TESTS_CLUSTER_NAME = "tests.clustername";

protected static final String REMOTE_BACKED_STORAGE_REPOSITORY_NAME = "test-remote-store-repo";

private Path remoteStoreRepositoryPath;

private ReplicationType randomReplicationType;

private String randomStorageType;

/**
* The lucene_default {@link Codec} is not added to the list as it internally maps to Asserting {@link Codec}.
* The override to fetch the {@link CompletionFieldMapper.CompletionFieldType} postings format is not available for this codec.
Expand Down Expand Up @@ -1942,11 +1950,19 @@ protected Settings nodeSettings(int nodeOrdinal) {
builder.put(TelemetrySettings.TRACER_ENABLED_SETTING.getKey(), true);
}

// Randomly set a replication strategy for the node. Replication Strategy can still be manually overridden by subclass if needed.
// Randomly set a Replication Strategy and storage type for the node. Both Replication Strategy and Storage Type can still be
// manually overridden by subclass if needed.
if (useRandomReplicationStrategy()) {
ReplicationType replicationType = randomBoolean() ? ReplicationType.DOCUMENT : ReplicationType.SEGMENT;
logger.info("Randomly using Replication Strategy as {}.", replicationType.toString());
builder.put(CLUSTER_REPLICATION_TYPE_SETTING.getKey(), replicationType);
if (randomReplicationType.equals(ReplicationType.SEGMENT) && randomStorageType.equals("REMOTE_STORE")) {
logger.info("Randomly using Replication Strategy as {} and Storage Type as {}.", randomReplicationType, randomStorageType);
if (remoteStoreRepositoryPath == null) {
remoteStoreRepositoryPath = randomRepoPath().toAbsolutePath();
}
builder.put(remoteStoreClusterSettings(REMOTE_BACKED_STORAGE_REPOSITORY_NAME, remoteStoreRepositoryPath));
} else {
logger.info("Randomly using Replication Strategy as {} and Storage Type as {}.", randomReplicationType, randomStorageType);
builder.put(CLUSTER_REPLICATION_TYPE_SETTING.getKey(), randomReplicationType);
}
}
return builder.build();
}
Expand Down Expand Up @@ -1999,6 +2015,14 @@ protected boolean ignoreExternalCluster() {
}

protected TestCluster buildTestCluster(Scope scope, long seed) throws IOException {
if (useRandomReplicationStrategy()) {
randomReplicationType = randomBoolean() ? ReplicationType.DOCUMENT : ReplicationType.SEGMENT;
if (randomReplicationType.equals(ReplicationType.SEGMENT)) {
randomStorageType = randomBoolean() ? "REMOTE_STORE" : "LOCAL";
} else {
randomStorageType = "LOCAL";
}
}
String clusterAddresses = System.getProperty(TESTS_CLUSTER);
if (Strings.hasLength(clusterAddresses) && ignoreExternalCluster() == false) {
if (scope == Scope.TEST) {
Expand Down

0 comments on commit fb8c0b1

Please sign in to comment.