@@ -301,6 +301,13 @@ public boolean isFailureStoreIndex(String indexName) {
301
301
return failureIndices .containsIndex (indexName );
302
302
}
303
303
304
+ /**
305
+ * Returns true if the index name provided belongs to this data stream.
306
+ */
307
+ public boolean containsIndex (String indexName ) {
308
+ return backingIndices .containsIndex (indexName ) || failureIndices .containsIndex (indexName );
309
+ }
310
+
304
311
public DataStreamOptions getDataStreamOptions () {
305
312
return dataStreamOptions ;
306
313
}
@@ -782,8 +789,9 @@ public DataStream addBackingIndex(Metadata clusterMetadata, Index index) {
782
789
// ensure that no aliases reference index
783
790
ensureNoAliasesOnIndex (clusterMetadata , index );
784
791
785
- List <Index > backingIndices = new ArrayList <>(this .backingIndices .indices );
786
- backingIndices .add (0 , index );
792
+ List <Index > backingIndices = new ArrayList <>(this .backingIndices .indices .size () + 1 );
793
+ backingIndices .add (index );
794
+ backingIndices .addAll (this .backingIndices .indices );
787
795
assert backingIndices .size () == this .backingIndices .indices .size () + 1 ;
788
796
return copy ().setBackingIndices (this .backingIndices .copy ().setIndices (backingIndices ).build ())
789
797
.setGeneration (generation + 1 )
@@ -808,8 +816,9 @@ public DataStream addFailureStoreIndex(Metadata clusterMetadata, Index index) {
808
816
809
817
ensureNoAliasesOnIndex (clusterMetadata , index );
810
818
811
- List <Index > updatedFailureIndices = new ArrayList <>(failureIndices .indices );
812
- updatedFailureIndices .add (0 , index );
819
+ List <Index > updatedFailureIndices = new ArrayList <>(failureIndices .indices .size () + 1 );
820
+ updatedFailureIndices .add (index );
821
+ updatedFailureIndices .addAll (failureIndices .indices );
813
822
assert updatedFailureIndices .size () == failureIndices .indices .size () + 1 ;
814
823
return copy ().setFailureIndices (failureIndices .copy ().setIndices (updatedFailureIndices ).build ())
815
824
.setGeneration (generation + 1 )
@@ -1039,7 +1048,7 @@ private boolean isIndexOlderThan(
1039
1048
* we return false.
1040
1049
*/
1041
1050
public boolean isIndexManagedByDataStreamLifecycle (Index index , Function <String , IndexMetadata > indexMetadataSupplier ) {
1042
- if (backingIndices . containsIndex ( index . getName ()) == false && failureIndices . containsIndex (index .getName ()) == false ) {
1051
+ if (containsIndex (index .getName ()) == false ) {
1043
1052
return false ;
1044
1053
}
1045
1054
IndexMetadata indexMetadata = indexMetadataSupplier .apply (index .getName ());
0 commit comments