@@ -91,7 +91,7 @@ public void testSimpleWorkflow() {
9191 .setType ("s3" ).setSettings (ImmutableSettings .settingsBuilder ()
9292 .put ("base_path" , basePath )
9393 .put ("chunk_size" , randomIntBetween (1000 , 10000 ))
94- ).get ();
94+ ).get ();
9595 assertThat (putRepositoryResponse .isAcknowledged (), equalTo (true ));
9696
9797 createIndex ("test-idx-1" , "test-idx-2" , "test-idx-3" );
@@ -154,94 +154,94 @@ public void testSimpleWorkflow() {
154154 assertThat (clusterState .getMetaData ().hasIndex ("test-idx-1" ), equalTo (true ));
155155 assertThat (clusterState .getMetaData ().hasIndex ("test-idx-2" ), equalTo (false ));
156156 }
157-
157+
158158 @ Test @ AwaitsFix (bugUrl = "https://github.com/elastic/elasticsearch-cloud-aws/issues/211" )
159159 public void testEncryption () {
160- Client client = client ();
161- logger .info ("--> creating s3 repository with bucket[{}] and path [{}]" , internalCluster ().getInstance (Settings .class ).get ("repositories.s3.bucket" ), basePath );
162- PutRepositoryResponse putRepositoryResponse = client .admin ().cluster ().preparePutRepository ("test-repo" )
163- .setType ("s3" ).setSettings (ImmutableSettings .settingsBuilder ()
164- .put ("base_path" , basePath )
165- .put ("chunk_size" , randomIntBetween (1000 , 10000 ))
166- .put ("server_side_encryption" , true )
167- ).get ();
168- assertThat (putRepositoryResponse .isAcknowledged (), equalTo (true ));
169-
170- createIndex ("test-idx-1" , "test-idx-2" , "test-idx-3" );
171- ensureGreen ();
172-
173- logger .info ("--> indexing some data" );
174- for (int i = 0 ; i < 100 ; i ++) {
175- index ("test-idx-1" , "doc" , Integer .toString (i ), "foo" , "bar" + i );
176- index ("test-idx-2" , "doc" , Integer .toString (i ), "foo" , "baz" + i );
177- index ("test-idx-3" , "doc" , Integer .toString (i ), "foo" , "baz" + i );
178- }
179- refresh ();
180- assertThat (client .prepareCount ("test-idx-1" ).get ().getCount (), equalTo (100L ));
181- assertThat (client .prepareCount ("test-idx-2" ).get ().getCount (), equalTo (100L ));
182- assertThat (client .prepareCount ("test-idx-3" ).get ().getCount (), equalTo (100L ));
183-
184- logger .info ("--> snapshot" );
185- CreateSnapshotResponse createSnapshotResponse = client .admin ().cluster ().prepareCreateSnapshot ("test-repo" , "test-snap" ).setWaitForCompletion (true ).setIndices ("test-idx-*" , "-test-idx-3" ).get ();
186- assertThat (createSnapshotResponse .getSnapshotInfo ().successfulShards (), greaterThan (0 ));
187- assertThat (createSnapshotResponse .getSnapshotInfo ().successfulShards (), equalTo (createSnapshotResponse .getSnapshotInfo ().totalShards ()));
188-
189- assertThat (client .admin ().cluster ().prepareGetSnapshots ("test-repo" ).setSnapshots ("test-snap" ).get ().getSnapshots ().get (0 ).state (), equalTo (SnapshotState .SUCCESS ));
190-
191- Settings settings = internalCluster ().getInstance (Settings .class );
192- Settings bucket = settings .getByPrefix ("repositories.s3." );
193- AmazonS3 s3Client = internalCluster ().getInstance (AwsS3Service .class ).client (
194- null ,
195- null ,
196- bucket .get ("region" , settings .get ("repositories.s3.region" )),
197- bucket .get ("access_key" , settings .get ("cloud.aws.access_key" )),
198- bucket .get ("secret_key" , settings .get ("cloud.aws.secret_key" )));
199-
200- String bucketName = bucket .get ("bucket" );
201- logger .info ("--> verify encryption for bucket [{}], prefix [{}]" , bucketName , basePath );
202- List <S3ObjectSummary > summaries = s3Client .listObjects (bucketName , basePath ).getObjectSummaries ();
203- for (S3ObjectSummary summary : summaries ) {
204- assertThat (s3Client .getObjectMetadata (bucketName , summary .getKey ()).getSSEAlgorithm (), equalTo ("AES256" ));
205- }
206-
207- logger .info ("--> delete some data" );
208- for (int i = 0 ; i < 50 ; i ++) {
209- client .prepareDelete ("test-idx-1" , "doc" , Integer .toString (i )).get ();
210- }
211- for (int i = 50 ; i < 100 ; i ++) {
212- client .prepareDelete ("test-idx-2" , "doc" , Integer .toString (i )).get ();
213- }
214- for (int i = 0 ; i < 100 ; i += 2 ) {
215- client .prepareDelete ("test-idx-3" , "doc" , Integer .toString (i )).get ();
216- }
217- refresh ();
218- assertThat (client .prepareCount ("test-idx-1" ).get ().getCount (), equalTo (50L ));
219- assertThat (client .prepareCount ("test-idx-2" ).get ().getCount (), equalTo (50L ));
220- assertThat (client .prepareCount ("test-idx-3" ).get ().getCount (), equalTo (50L ));
221-
222- logger .info ("--> close indices" );
223- client .admin ().indices ().prepareClose ("test-idx-1" , "test-idx-2" ).get ();
224-
225- logger .info ("--> restore all indices from the snapshot" );
226- RestoreSnapshotResponse restoreSnapshotResponse = client .admin ().cluster ().prepareRestoreSnapshot ("test-repo" , "test-snap" ).setWaitForCompletion (true ).execute ().actionGet ();
227- assertThat (restoreSnapshotResponse .getRestoreInfo ().totalShards (), greaterThan (0 ));
228-
229- ensureGreen ();
230- assertThat (client .prepareCount ("test-idx-1" ).get ().getCount (), equalTo (100L ));
231- assertThat (client .prepareCount ("test-idx-2" ).get ().getCount (), equalTo (100L ));
232- assertThat (client .prepareCount ("test-idx-3" ).get ().getCount (), equalTo (50L ));
233-
234- // Test restore after index deletion
235- logger .info ("--> delete indices" );
236- cluster ().wipeIndices ("test-idx-1" , "test-idx-2" );
237- logger .info ("--> restore one index after deletion" );
238- restoreSnapshotResponse = client .admin ().cluster ().prepareRestoreSnapshot ("test-repo" , "test-snap" ).setWaitForCompletion (true ).setIndices ("test-idx-*" , "-test-idx-2" ).execute ().actionGet ();
239- assertThat (restoreSnapshotResponse .getRestoreInfo ().totalShards (), greaterThan (0 ));
240- ensureGreen ();
241- assertThat (client .prepareCount ("test-idx-1" ).get ().getCount (), equalTo (100L ));
242- ClusterState clusterState = client .admin ().cluster ().prepareState ().get ().getState ();
243- assertThat (clusterState .getMetaData ().hasIndex ("test-idx-1" ), equalTo (true ));
244- assertThat (clusterState .getMetaData ().hasIndex ("test-idx-2" ), equalTo (false ));
160+ Client client = client ();
161+ logger .info ("--> creating s3 repository with bucket[{}] and path [{}]" , internalCluster ().getInstance (Settings .class ).get ("repositories.s3.bucket" ), basePath );
162+ PutRepositoryResponse putRepositoryResponse = client .admin ().cluster ().preparePutRepository ("test-repo" )
163+ .setType ("s3" ).setSettings (ImmutableSettings .settingsBuilder ()
164+ .put ("base_path" , basePath )
165+ .put ("chunk_size" , randomIntBetween (1000 , 10000 ))
166+ .put ("server_side_encryption" , true )
167+ ).get ();
168+ assertThat (putRepositoryResponse .isAcknowledged (), equalTo (true ));
169+
170+ createIndex ("test-idx-1" , "test-idx-2" , "test-idx-3" );
171+ ensureGreen ();
172+
173+ logger .info ("--> indexing some data" );
174+ for (int i = 0 ; i < 100 ; i ++) {
175+ index ("test-idx-1" , "doc" , Integer .toString (i ), "foo" , "bar" + i );
176+ index ("test-idx-2" , "doc" , Integer .toString (i ), "foo" , "baz" + i );
177+ index ("test-idx-3" , "doc" , Integer .toString (i ), "foo" , "baz" + i );
178+ }
179+ refresh ();
180+ assertThat (client .prepareCount ("test-idx-1" ).get ().getCount (), equalTo (100L ));
181+ assertThat (client .prepareCount ("test-idx-2" ).get ().getCount (), equalTo (100L ));
182+ assertThat (client .prepareCount ("test-idx-3" ).get ().getCount (), equalTo (100L ));
183+
184+ logger .info ("--> snapshot" );
185+ CreateSnapshotResponse createSnapshotResponse = client .admin ().cluster ().prepareCreateSnapshot ("test-repo" , "test-snap" ).setWaitForCompletion (true ).setIndices ("test-idx-*" , "-test-idx-3" ).get ();
186+ assertThat (createSnapshotResponse .getSnapshotInfo ().successfulShards (), greaterThan (0 ));
187+ assertThat (createSnapshotResponse .getSnapshotInfo ().successfulShards (), equalTo (createSnapshotResponse .getSnapshotInfo ().totalShards ()));
188+
189+ assertThat (client .admin ().cluster ().prepareGetSnapshots ("test-repo" ).setSnapshots ("test-snap" ).get ().getSnapshots ().get (0 ).state (), equalTo (SnapshotState .SUCCESS ));
190+
191+ Settings settings = internalCluster ().getInstance (Settings .class );
192+ Settings bucket = settings .getByPrefix ("repositories.s3." );
193+ AmazonS3 s3Client = internalCluster ().getInstance (AwsS3Service .class ).client (
194+ null ,
195+ null ,
196+ bucket .get ("region" , settings .get ("repositories.s3.region" )),
197+ bucket .get ("access_key" , settings .get ("cloud.aws.access_key" )),
198+ bucket .get ("secret_key" , settings .get ("cloud.aws.secret_key" )));
199+
200+ String bucketName = bucket .get ("bucket" );
201+ logger .info ("--> verify encryption for bucket [{}], prefix [{}]" , bucketName , basePath );
202+ List <S3ObjectSummary > summaries = s3Client .listObjects (bucketName , basePath ).getObjectSummaries ();
203+ for (S3ObjectSummary summary : summaries ) {
204+ assertThat (s3Client .getObjectMetadata (bucketName , summary .getKey ()).getSSEAlgorithm (), equalTo ("AES256" ));
205+ }
206+
207+ logger .info ("--> delete some data" );
208+ for (int i = 0 ; i < 50 ; i ++) {
209+ client .prepareDelete ("test-idx-1" , "doc" , Integer .toString (i )).get ();
210+ }
211+ for (int i = 50 ; i < 100 ; i ++) {
212+ client .prepareDelete ("test-idx-2" , "doc" , Integer .toString (i )).get ();
213+ }
214+ for (int i = 0 ; i < 100 ; i += 2 ) {
215+ client .prepareDelete ("test-idx-3" , "doc" , Integer .toString (i )).get ();
216+ }
217+ refresh ();
218+ assertThat (client .prepareCount ("test-idx-1" ).get ().getCount (), equalTo (50L ));
219+ assertThat (client .prepareCount ("test-idx-2" ).get ().getCount (), equalTo (50L ));
220+ assertThat (client .prepareCount ("test-idx-3" ).get ().getCount (), equalTo (50L ));
221+
222+ logger .info ("--> close indices" );
223+ client .admin ().indices ().prepareClose ("test-idx-1" , "test-idx-2" ).get ();
224+
225+ logger .info ("--> restore all indices from the snapshot" );
226+ RestoreSnapshotResponse restoreSnapshotResponse = client .admin ().cluster ().prepareRestoreSnapshot ("test-repo" , "test-snap" ).setWaitForCompletion (true ).execute ().actionGet ();
227+ assertThat (restoreSnapshotResponse .getRestoreInfo ().totalShards (), greaterThan (0 ));
228+
229+ ensureGreen ();
230+ assertThat (client .prepareCount ("test-idx-1" ).get ().getCount (), equalTo (100L ));
231+ assertThat (client .prepareCount ("test-idx-2" ).get ().getCount (), equalTo (100L ));
232+ assertThat (client .prepareCount ("test-idx-3" ).get ().getCount (), equalTo (50L ));
233+
234+ // Test restore after index deletion
235+ logger .info ("--> delete indices" );
236+ cluster ().wipeIndices ("test-idx-1" , "test-idx-2" );
237+ logger .info ("--> restore one index after deletion" );
238+ restoreSnapshotResponse = client .admin ().cluster ().prepareRestoreSnapshot ("test-repo" , "test-snap" ).setWaitForCompletion (true ).setIndices ("test-idx-*" , "-test-idx-2" ).execute ().actionGet ();
239+ assertThat (restoreSnapshotResponse .getRestoreInfo ().totalShards (), greaterThan (0 ));
240+ ensureGreen ();
241+ assertThat (client .prepareCount ("test-idx-1" ).get ().getCount (), equalTo (100L ));
242+ ClusterState clusterState = client .admin ().cluster ().prepareState ().get ().getState ();
243+ assertThat (clusterState .getMetaData ().hasIndex ("test-idx-1" ), equalTo (true ));
244+ assertThat (clusterState .getMetaData ().hasIndex ("test-idx-2" ), equalTo (false ));
245245 }
246246
247247 /**
@@ -254,9 +254,9 @@ public void assertRepositoryWithCustomCredentialsIsNotAccessibleByDefaultCredent
254254 Settings bucketSettings = internalCluster ().getInstance (Settings .class ).getByPrefix ("repositories.s3.private-bucket." );
255255 logger .info ("--> creating s3 repository with bucket[{}] and path [{}]" , bucketSettings .get ("bucket" ), basePath );
256256 client .admin ().cluster ().preparePutRepository ("test-repo" )
257- .setType ("s3" ).setSettings (ImmutableSettings .settingsBuilder ()
258- .put ("base_path" , basePath )
259- .put ("bucket" , bucketSettings .get ("bucket" ))
257+ .setType ("s3" ).setSettings (ImmutableSettings .settingsBuilder ()
258+ .put ("base_path" , basePath )
259+ .put ("bucket" , bucketSettings .get ("bucket" ))
260260 ).get ();
261261 fail ("repository verification should have raise an exception!" );
262262 }
@@ -273,7 +273,7 @@ public void testRepositoryWithCustomCredentials() {
273273 .put ("access_key" , bucketSettings .get ("access_key" ))
274274 .put ("secret_key" , bucketSettings .get ("secret_key" ))
275275 .put ("bucket" , bucketSettings .get ("bucket" ))
276- ).get ();
276+ ).get ();
277277 assertThat (putRepositoryResponse .isAcknowledged (), equalTo (true ));
278278
279279 assertRepositoryIsOperational (client , "test-repo" );
@@ -291,7 +291,7 @@ public void testRepositoryWithCustomEndpointProtocol() {
291291 .put ("access_key" , bucketSettings .get ("access_key" ))
292292 .put ("secret_key" , bucketSettings .get ("secret_key" ))
293293 .put ("base_path" , basePath )
294- ).get ();
294+ ).get ();
295295 assertThat (putRepositoryResponse .isAcknowledged (), equalTo (true ));
296296 assertRepositoryIsOperational (client , "test-repo" );
297297 }
@@ -306,11 +306,11 @@ public void assertRepositoryInRemoteRegionIsRemote() {
306306 Settings bucketSettings = internalCluster ().getInstance (Settings .class ).getByPrefix ("repositories.s3.remote-bucket." );
307307 logger .info ("--> creating s3 repository with bucket[{}] and path [{}]" , bucketSettings .get ("bucket" ), basePath );
308308 client .admin ().cluster ().preparePutRepository ("test-repo" )
309- .setType ("s3" ).setSettings (ImmutableSettings .settingsBuilder ()
310- .put ("base_path" , basePath )
311- .put ("bucket" , bucketSettings .get ("bucket" ))
312- // Below setting intentionally omitted to assert bucket is not available in default region.
313- // .put("region", privateBucketSettings.get("region"))
309+ .setType ("s3" ).setSettings (ImmutableSettings .settingsBuilder ()
310+ .put ("base_path" , basePath )
311+ .put ("bucket" , bucketSettings .get ("bucket" ))
312+ // Below setting intentionally omitted to assert bucket is not available in default region.
313+ // .put("region", privateBucketSettings.get("region"))
314314 ).get ();
315315
316316 fail ("repository verification should have raise an exception!" );
@@ -327,7 +327,7 @@ public void testRepositoryInRemoteRegion() {
327327 .put ("base_path" , basePath )
328328 .put ("bucket" , bucketSettings .get ("bucket" ))
329329 .put ("region" , bucketSettings .get ("region" ))
330- ).get ();
330+ ).get ();
331331 assertThat (putRepositoryResponse .isAcknowledged (), equalTo (true ));
332332
333333 assertRepositoryIsOperational (client , "test-repo" );
@@ -342,8 +342,8 @@ public void testNonExistingRepo_86() {
342342 logger .info ("--> creating s3 repository with bucket[{}] and path [{}]" , internalCluster ().getInstance (Settings .class ).get ("repositories.s3.bucket" ), basePath );
343343 PutRepositoryResponse putRepositoryResponse = client .admin ().cluster ().preparePutRepository ("test-repo" )
344344 .setType ("s3" ).setSettings (ImmutableSettings .settingsBuilder ()
345- .put ("base_path" , basePath )
346- ).get ();
345+ .put ("base_path" , basePath )
346+ ).get ();
347347 assertThat (putRepositoryResponse .isAcknowledged (), equalTo (true ));
348348
349349 logger .info ("--> restore non existing snapshot" );
@@ -364,8 +364,8 @@ public void testGetDeleteNonExistingSnapshot_86() {
364364 logger .info ("--> creating s3 repository without any path" );
365365 PutRepositoryResponse putRepositoryResponse = client .preparePutRepository ("test-repo" )
366366 .setType ("s3" ).setSettings (ImmutableSettings .settingsBuilder ()
367- .put ("base_path" , basePath )
368- ).get ();
367+ .put ("base_path" , basePath )
368+ ).get ();
369369 assertThat (putRepositoryResponse .isAcknowledged (), equalTo (true ));
370370
371371 try {
@@ -383,7 +383,7 @@ public void testGetDeleteNonExistingSnapshot_86() {
383383 }
384384 }
385385
386- private void assertRepositoryIsOperational (Client client , String repository ) {
386+ private void assertRepositoryIsOperational (Client client , String repository ) {
387387 createIndex ("test-idx-1" );
388388 ensureGreen ();
389389
@@ -447,7 +447,7 @@ public void cleanRepositoryFiles(String basePath) {
447447 settings .getByPrefix ("repositories.s3.private-bucket." ),
448448 settings .getByPrefix ("repositories.s3.remote-bucket." ),
449449 settings .getByPrefix ("repositories.s3.external-bucket." )
450- };
450+ };
451451 for (Settings bucket : buckets ) {
452452 String endpoint = bucket .get ("endpoint" , settings .get ("repositories.s3.endpoint" ));
453453 String protocol = bucket .get ("protocol" , settings .get ("repositories.s3.protocol" ));
0 commit comments