1111import org .elasticsearch .action .admin .indices .rollover .RolloverInfo ;
1212import org .elasticsearch .action .admin .indices .rollover .RolloverRequest ;
1313import org .elasticsearch .action .admin .indices .rollover .RolloverResponse ;
14+ import org .elasticsearch .action .support .IndexComponentSelector ;
1415import org .elasticsearch .cluster .ClusterName ;
1516import org .elasticsearch .cluster .ClusterState ;
1617import org .elasticsearch .cluster .metadata .AliasMetadata ;
1718import org .elasticsearch .cluster .metadata .DataStream ;
1819import org .elasticsearch .cluster .metadata .IndexMetadata ;
20+ import org .elasticsearch .cluster .metadata .IndexNameExpressionResolver ;
1921import org .elasticsearch .cluster .metadata .Metadata ;
2022import org .elasticsearch .common .unit .ByteSizeValue ;
2123import org .elasticsearch .index .IndexVersion ;
@@ -68,11 +70,15 @@ private IndexMetadata getIndexMetadata(String alias) {
6870 .build ();
6971 }
7072
71- private static void assertRolloverIndexRequest (RolloverRequest request , String rolloverTarget ) {
73+ private static void assertRolloverIndexRequest (RolloverRequest request , String rolloverTarget , boolean targetFailureStores ) {
74+ String target = targetFailureStores
75+ ? IndexNameExpressionResolver .combineSelector (rolloverTarget , IndexComponentSelector .FAILURES )
76+ : rolloverTarget ;
77+
7278 assertNotNull (request );
7379 assertEquals (1 , request .indices ().length );
74- assertEquals (rolloverTarget , request .indices ()[0 ]);
75- assertEquals (rolloverTarget , request .getRolloverTarget ());
80+ assertEquals (target , request .indices ()[0 ]);
81+ assertEquals (target , request .getRolloverTarget ());
7682 assertFalse (request .isDryRun ());
7783 assertEquals (0 , request .getConditions ().getConditions ().size ());
7884 }
@@ -83,7 +89,7 @@ public void testPerformAction() throws Exception {
8389
8490 RolloverStep step = createRandomInstance ();
8591
86- mockClientRolloverCall (alias );
92+ mockClientRolloverCall (alias , false );
8793
8894 ClusterState clusterState = ClusterState .builder (ClusterName .DEFAULT ).metadata (Metadata .builder ().put (indexMetadata , true )).build ();
8995 performActionAndWait (step , indexMetadata , clusterState , null );
@@ -109,8 +115,6 @@ public void testPerformActionOnDataStream() throws Exception {
109115
110116 RolloverStep step = createRandomInstance ();
111117
112- mockClientRolloverCall (dataStreamName );
113-
114118 ClusterState clusterState = ClusterState .builder (ClusterName .DEFAULT )
115119 .metadata (
116120 Metadata .builder ()
@@ -121,6 +125,7 @@ public void testPerformActionOnDataStream() throws Exception {
121125 .build ();
122126 boolean useFailureStore = randomBoolean ();
123127 IndexMetadata indexToOperateOn = useFailureStore ? failureIndexMetadata : indexMetadata ;
128+ mockClientRolloverCall (dataStreamName , useFailureStore );
124129 performActionAndWait (step , indexToOperateOn , clusterState , null );
125130
126131 Mockito .verify (client , Mockito .only ()).admin ();
@@ -179,12 +184,12 @@ public void testSkipRolloverIfDataStreamIsAlreadyRolledOver() throws Exception {
179184 verifyNoMoreInteractions (indicesClient );
180185 }
181186
182- private void mockClientRolloverCall (String rolloverTarget ) {
187+ private void mockClientRolloverCall (String rolloverTarget , boolean targetFailureStore ) {
183188 Mockito .doAnswer (invocation -> {
184189 RolloverRequest request = (RolloverRequest ) invocation .getArguments ()[0 ];
185190 @ SuppressWarnings ("unchecked" )
186191 ActionListener <RolloverResponse > listener = (ActionListener <RolloverResponse >) invocation .getArguments ()[1 ];
187- assertRolloverIndexRequest (request , rolloverTarget );
192+ assertRolloverIndexRequest (request , rolloverTarget , targetFailureStore );
188193 listener .onResponse (new RolloverResponse (null , null , Map .of (), request .isDryRun (), true , true , true , false ));
189194 return null ;
190195 }).when (indicesClient ).rolloverIndex (Mockito .any (), Mockito .any ());
@@ -237,7 +242,7 @@ public void testPerformActionFailure() {
237242 RolloverRequest request = (RolloverRequest ) invocation .getArguments ()[0 ];
238243 @ SuppressWarnings ("unchecked" )
239244 ActionListener <RolloverResponse > listener = (ActionListener <RolloverResponse >) invocation .getArguments ()[1 ];
240- assertRolloverIndexRequest (request , alias );
245+ assertRolloverIndexRequest (request , alias , false );
241246 listener .onFailure (exception );
242247 return null ;
243248 }).when (indicesClient ).rolloverIndex (Mockito .any (), Mockito .any ());
0 commit comments