From 1598136f9fb79c8a4d8d589983677e4ad81278cc Mon Sep 17 00:00:00 2001 From: Henning Andersen Date: Sat, 14 Aug 2021 18:40:05 +0200 Subject: [PATCH 1/2] Add recovery from snapshot to tests Randomly add to use a snapshot for recovery to searchable snapshot and snapshot tests to verify that recover from snapshot does not break other features (those should not care about the flag). Relates ##76237 --- .../snapshots/AbstractSnapshotIntegTestCase.java | 3 +++ .../BaseSearchableSnapshotsIntegTestCase.java | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/test/framework/src/main/java/org/elasticsearch/snapshots/AbstractSnapshotIntegTestCase.java b/test/framework/src/main/java/org/elasticsearch/snapshots/AbstractSnapshotIntegTestCase.java index acaead4578657..89e2d1419d556 100644 --- a/test/framework/src/main/java/org/elasticsearch/snapshots/AbstractSnapshotIntegTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/snapshots/AbstractSnapshotIntegTestCase.java @@ -338,6 +338,9 @@ public static Settings.Builder randomRepositorySettings() { if (rarely()) { settings.put("chunk_size", randomIntBetween(100, 1000), ByteSizeUnit.BYTES); } + if (randomBoolean()) { + settings.put(BlobStoreRepository.USE_FOR_PEER_RECOVERY_SETTING.getKey(), randomBoolean()); + } return settings; } diff --git a/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/BaseSearchableSnapshotsIntegTestCase.java b/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/BaseSearchableSnapshotsIntegTestCase.java index f0a28580f0284..b78032bbfe5db 100644 --- a/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/BaseSearchableSnapshotsIntegTestCase.java +++ b/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/BaseSearchableSnapshotsIntegTestCase.java @@ -40,6 +40,7 @@ import org.elasticsearch.indices.IndicesService; import org.elasticsearch.indices.recovery.RecoveryState; import org.elasticsearch.plugins.Plugin; +import org.elasticsearch.repositories.blobstore.BlobStoreRepository; import org.elasticsearch.snapshots.AbstractSnapshotIntegTestCase; import org.elasticsearch.test.ESIntegTestCase; import org.elasticsearch.threadpool.ThreadPool; @@ -140,6 +141,13 @@ public void waitForBlobCacheFillsToComplete() { } } + @Override + protected void createRepository(String repoName, String type, Settings.Builder settings, boolean verify) { + // add use for peer recovery setting randomly to verify that these features work together. + Settings.Builder newSettings = randomBoolean() ? settings : Settings.builder().put(BlobStoreRepository.USE_FOR_PEER_RECOVERY_SETTING.getKey(), true).put(settings.build()); + super.createRepository(repoName, type, newSettings, verify); + } + protected String mountSnapshot(String repositoryName, String snapshotName, String indexName, Settings restoredIndexSettings) throws Exception { final String restoredIndexName = randomBoolean() ? indexName : randomAlphaOfLength(10).toLowerCase(Locale.ROOT); From c104e9e44c72fbd5c4016b04f61e58326a91ec54 Mon Sep 17 00:00:00 2001 From: Henning Andersen Date: Sat, 14 Aug 2021 18:48:03 +0200 Subject: [PATCH 2/2] spotless --- .../BaseSearchableSnapshotsIntegTestCase.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/BaseSearchableSnapshotsIntegTestCase.java b/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/BaseSearchableSnapshotsIntegTestCase.java index b78032bbfe5db..2ca66b0871377 100644 --- a/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/BaseSearchableSnapshotsIntegTestCase.java +++ b/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/BaseSearchableSnapshotsIntegTestCase.java @@ -144,7 +144,9 @@ public void waitForBlobCacheFillsToComplete() { @Override protected void createRepository(String repoName, String type, Settings.Builder settings, boolean verify) { // add use for peer recovery setting randomly to verify that these features work together. - Settings.Builder newSettings = randomBoolean() ? settings : Settings.builder().put(BlobStoreRepository.USE_FOR_PEER_RECOVERY_SETTING.getKey(), true).put(settings.build()); + Settings.Builder newSettings = randomBoolean() + ? settings + : Settings.builder().put(BlobStoreRepository.USE_FOR_PEER_RECOVERY_SETTING.getKey(), true).put(settings.build()); super.createRepository(repoName, type, newSettings, verify); }