66
66
import java .util .Set ;
67
67
import java .util .stream .Collectors ;
68
68
69
- import static org .elasticsearch .cluster .metadata .DataStream .getDefaultBackingIndexName ;
70
69
import static org .elasticsearch .cluster .metadata .DataStreamTestHelper .backingIndexEqualTo ;
71
70
import static org .elasticsearch .cluster .metadata .IndexMetadata .APIBlock .READ_ONLY ;
72
71
import static org .elasticsearch .cluster .metadata .MetadataIndexTemplateService .DEFAULT_TIMESTAMP_FIELD ;
@@ -306,7 +305,7 @@ public void testAutomaticForceMerge() throws Exception {
306
305
int finalGeneration = randomIntBetween (3 , 4 );
307
306
for (int currentGeneration = 1 ; currentGeneration < finalGeneration ; currentGeneration ++) {
308
307
// This is currently the write index, but it will be rolled over as soon as data stream lifecycle runs:
309
- final String toBeRolledOverIndex = DataStream . getDefaultBackingIndexName (dataStreamName , currentGeneration );
308
+ final String toBeRolledOverIndex = getBackingIndices (dataStreamName ). get ( currentGeneration - 1 );
310
309
for (int i = 0 ; i < randomIntBetween (10 , 50 ); i ++) {
311
310
indexDocs (dataStreamName , randomIntBetween (1 , 300 ));
312
311
// Make sure the segments get written:
@@ -318,7 +317,7 @@ public void testAutomaticForceMerge() throws Exception {
318
317
if (currentGeneration == 1 ) {
319
318
toBeForceMergedIndex = null ; // Not going to be used
320
319
} else {
321
- toBeForceMergedIndex = DataStream . getDefaultBackingIndexName (dataStreamName , currentGeneration - 1 );
320
+ toBeForceMergedIndex = getBackingIndices (dataStreamName ). get ( currentGeneration - 2 );
322
321
}
323
322
int currentBackingIndexCount = currentGeneration ;
324
323
DataStreamLifecycleService dataStreamLifecycleService = internalCluster ().getInstance (
@@ -410,7 +409,7 @@ public void testErrorRecordingOnRollover() throws Exception {
410
409
indexDocs (dataStreamName , 1 );
411
410
412
411
assertBusy (() -> {
413
- String writeIndexName = DataStream . getDefaultBackingIndexName (dataStreamName , 2 );
412
+ String writeIndexName = getBackingIndices (dataStreamName ). get ( 1 );
414
413
String writeIndexRolloverError = null ;
415
414
Iterable <DataStreamLifecycleService > lifecycleServices = internalCluster ().getInstances (DataStreamLifecycleService .class );
416
415
@@ -429,20 +428,15 @@ public void testErrorRecordingOnRollover() throws Exception {
429
428
updateClusterSettings (Settings .builder ().putNull ("*" ));
430
429
431
430
assertBusy (() -> {
432
- GetDataStreamAction .Request getDataStreamRequest = new GetDataStreamAction .Request (new String [] { dataStreamName });
433
- GetDataStreamAction .Response getDataStreamResponse = client ().execute (GetDataStreamAction .INSTANCE , getDataStreamRequest )
434
- .actionGet ();
435
- assertThat (getDataStreamResponse .getDataStreams ().size (), equalTo (1 ));
436
- assertThat (getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getName (), equalTo (dataStreamName ));
437
- List <Index > backingIndices = getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getIndices ();
431
+ List <String > backingIndices = getBackingIndices (dataStreamName );
438
432
assertThat (backingIndices .size (), equalTo (3 ));
439
- String writeIndex = backingIndices .get (2 ). getName () ;
433
+ String writeIndex = backingIndices .get (2 );
440
434
// rollover was successful and we got to generation 3
441
435
assertThat (writeIndex , backingIndexEqualTo (dataStreamName , 3 ));
442
436
443
437
// we recorded the error against the previous write index (generation 2)
444
438
// let's check there's no error recorded against it anymore
445
- String previousWriteInddex = DataStream . getDefaultBackingIndexName ( dataStreamName , 2 );
439
+ String previousWriteInddex = backingIndices . get ( 1 );
446
440
Iterable <DataStreamLifecycleService > lifecycleServices = internalCluster ().getInstances (DataStreamLifecycleService .class );
447
441
448
442
for (DataStreamLifecycleService lifecycleService : lifecycleServices ) {
@@ -491,7 +485,7 @@ public void testErrorRecordingOnRetention() throws Exception {
491
485
assertThat (writeIndex , backingIndexEqualTo (dataStreamName , 2 ));
492
486
});
493
487
494
- String firstGenerationIndex = DataStream . getDefaultBackingIndexName (dataStreamName , 1L );
488
+ String firstGenerationIndex = getBackingIndices (dataStreamName ). get ( 0 );
495
489
496
490
// mark the first generation index as read-only so deletion fails when we enable the retention configuration
497
491
updateIndexSettings (Settings .builder ().put (READ_ONLY .settingName (), true ), firstGenerationIndex );
@@ -585,7 +579,7 @@ public void testDataLifecycleServiceConfiguresTheMergePolicy() throws Exception
585
579
assertThat (writeIndex , backingIndexEqualTo (dataStreamName , 2 ));
586
580
});
587
581
588
- String firstGenerationIndex = DataStream . getDefaultBackingIndexName (dataStreamName , 1L );
582
+ String firstGenerationIndex = getBackingIndices (dataStreamName ). get ( 0 );
589
583
ClusterGetSettingsAction .Response response = client ().execute (
590
584
ClusterGetSettingsAction .INSTANCE ,
591
585
new ClusterGetSettingsAction .Request ()
@@ -623,16 +617,11 @@ public void testDataLifecycleServiceConfiguresTheMergePolicy() throws Exception
623
617
624
618
// let's allow one rollover to go through
625
619
assertBusy (() -> {
626
- GetDataStreamAction .Request getDataStreamRequest = new GetDataStreamAction .Request (new String [] { dataStreamName });
627
- GetDataStreamAction .Response getDataStreamResponse = client ().execute (GetDataStreamAction .INSTANCE , getDataStreamRequest )
628
- .actionGet ();
629
- assertThat (getDataStreamResponse .getDataStreams ().size (), equalTo (1 ));
630
- assertThat (getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getName (), equalTo (dataStreamName ));
631
- List <Index > backingIndices = getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getIndices ();
620
+ List <String > backingIndices = getBackingIndices (dataStreamName );
632
621
assertThat (backingIndices .size (), equalTo (3 ));
633
622
});
634
623
635
- String secondGenerationIndex = DataStream . getDefaultBackingIndexName (dataStreamName , 1L );
624
+ String secondGenerationIndex = getBackingIndices (dataStreamName ). get ( 1 );
636
625
// check the 2nd generation index picked up the new setting values
637
626
assertBusy (() -> {
638
627
GetSettingsRequest getSettingsRequest = new GetSettingsRequest ().indices (secondGenerationIndex ).includeDefaults (true );
@@ -648,6 +637,15 @@ public void testDataLifecycleServiceConfiguresTheMergePolicy() throws Exception
648
637
});
649
638
}
650
639
640
+ private static List <String > getBackingIndices (String dataStreamName ) {
641
+ GetDataStreamAction .Request getDataStreamRequest = new GetDataStreamAction .Request (new String [] { dataStreamName });
642
+ GetDataStreamAction .Response getDataStreamResponse = client ().execute (GetDataStreamAction .INSTANCE , getDataStreamRequest )
643
+ .actionGet ();
644
+ assertThat (getDataStreamResponse .getDataStreams ().size (), equalTo (1 ));
645
+ assertThat (getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getName (), equalTo (dataStreamName ));
646
+ return getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getIndices ().stream ().map (Index ::getName ).toList ();
647
+ }
648
+
651
649
static void indexDocs (String dataStream , int numDocs ) {
652
650
BulkRequest bulkRequest = new BulkRequest ();
653
651
for (int i = 0 ; i < numDocs ; i ++) {
@@ -678,10 +676,10 @@ public void testReenableDataStreamLifecycle() throws Exception {
678
676
client ().execute (CreateDataStreamAction .INSTANCE , createDataStreamRequest ).get ();
679
677
680
678
indexDocs (dataStreamName , 10 );
681
-
679
+ List < String > backingIndices = getBackingIndices ( dataStreamName );
682
680
{
683
681
// backing index should not be managed
684
- String writeIndex = getDefaultBackingIndexName ( dataStreamName , 1 );
682
+ String writeIndex = backingIndices . get ( 0 );
685
683
686
684
ExplainDataStreamLifecycleAction .Response dataStreamLifecycleExplainResponse = client ().execute (
687
685
ExplainDataStreamLifecycleAction .INSTANCE ,
@@ -695,14 +693,8 @@ public void testReenableDataStreamLifecycle() throws Exception {
695
693
696
694
{
697
695
// data stream has only one backing index
698
- GetDataStreamAction .Request getDataStreamRequest = new GetDataStreamAction .Request (new String [] { dataStreamName });
699
- GetDataStreamAction .Response getDataStreamResponse = client ().execute (GetDataStreamAction .INSTANCE , getDataStreamRequest )
700
- .actionGet ();
701
- assertThat (getDataStreamResponse .getDataStreams ().size (), equalTo (1 ));
702
- assertThat (getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getName (), equalTo (dataStreamName ));
703
- List <Index > backingIndices = getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getIndices ();
704
696
assertThat (backingIndices .size (), equalTo (1 ));
705
- String writeIndex = getDefaultBackingIndexName ( dataStreamName , 1 );
697
+ String writeIndex = backingIndices . get ( 0 );
706
698
assertThat (writeIndex , backingIndexEqualTo (dataStreamName , 1 ));
707
699
}
708
700
@@ -714,16 +706,11 @@ public void testReenableDataStreamLifecycle() throws Exception {
714
706
);
715
707
716
708
assertBusy (() -> {
717
- GetDataStreamAction .Request getDataStreamRequest = new GetDataStreamAction .Request (new String [] { dataStreamName });
718
- GetDataStreamAction .Response getDataStreamResponse = client ().execute (GetDataStreamAction .INSTANCE , getDataStreamRequest )
719
- .actionGet ();
720
- assertThat (getDataStreamResponse .getDataStreams ().size (), equalTo (1 ));
721
- assertThat (getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getName (), equalTo (dataStreamName ));
722
- List <Index > backingIndices = getDataStreamResponse .getDataStreams ().get (0 ).getDataStream ().getIndices ();
723
- assertThat (backingIndices .size (), equalTo (2 ));
724
- String backingIndex = backingIndices .get (0 ).getName ();
709
+ List <String > currentBackingIndices = getBackingIndices (dataStreamName );
710
+ assertThat (currentBackingIndices .size (), equalTo (2 ));
711
+ String backingIndex = currentBackingIndices .get (0 );
725
712
assertThat (backingIndex , backingIndexEqualTo (dataStreamName , 1 ));
726
- String writeIndex = backingIndices .get (1 ). getName ( );
713
+ String writeIndex = currentBackingIndices .get (1 );
727
714
assertThat (writeIndex , backingIndexEqualTo (dataStreamName , 2 ));
728
715
});
729
716
}
0 commit comments