3131import org .elasticsearch .common .compress .CompressedXContent ;
3232import org .elasticsearch .index .mapper .extras .MapperExtrasPlugin ;
3333import org .elasticsearch .plugins .Plugin ;
34- import org .elasticsearch .test .ESSingleNodeTestCase ;
34+ import org .elasticsearch .test .ESIntegTestCase ;
3535import org .elasticsearch .xcontent .json .JsonXContent ;
3636import org .junit .After ;
3737
4949import static org .hamcrest .Matchers .greaterThan ;
5050import static org .hamcrest .Matchers .is ;
5151
52- public class DataStreamsStatsTests extends ESSingleNodeTestCase {
52+ @ ESIntegTestCase .ClusterScope (minNumDataNodes = 2 )
53+ public class DataStreamsStatsIT extends ESIntegTestCase {
5354
5455 @ Override
55- protected Collection <Class <? extends Plugin >> getPlugins () {
56+ protected Collection <Class <? extends Plugin >> nodePlugins () {
5657 return List .of (DataStreamsPlugin .class , MapperExtrasPlugin .class );
5758 }
5859
@@ -92,7 +93,8 @@ public void testStatsEmptyDataStream() throws Exception {
9293 String dataStreamName = createDataStream ();
9394
9495 DataStreamsStatsAction .Response stats = getDataStreamsStats ();
95- assertEquals (1 , stats .getSuccessfulShards ());
96+ assertEquals (2 , stats .getTotalShards ());
97+ assertEquals (2 , stats .getSuccessfulShards ());
9698 assertEquals (0 , stats .getFailedShards ());
9799 assertEquals (1 , stats .getDataStreamCount ());
98100 assertEquals (1 , stats .getBackingIndices ());
@@ -111,7 +113,8 @@ public void testStatsExistingDataStream() throws Exception {
111113 long timestamp = createDocument (dataStreamName );
112114
113115 DataStreamsStatsAction .Response stats = getDataStreamsStats ();
114- assertEquals (1 , stats .getSuccessfulShards ());
116+ assertEquals (2 , stats .getTotalShards ());
117+ assertEquals (2 , stats .getSuccessfulShards ());
115118 assertEquals (0 , stats .getFailedShards ());
116119 assertEquals (1 , stats .getDataStreamCount ());
117120 assertEquals (1 , stats .getBackingIndices ());
@@ -131,7 +134,8 @@ public void testStatsExistingDataStreamWithFailureStores() throws Exception {
131134
132135 DataStreamsStatsAction .Response stats = getDataStreamsStats ();
133136
134- assertEquals (2 , stats .getSuccessfulShards ());
137+ assertEquals (4 , stats .getTotalShards ());
138+ assertEquals (4 , stats .getSuccessfulShards ());
135139 assertEquals (0 , stats .getFailedShards ());
136140 assertEquals (1 , stats .getDataStreamCount ());
137141 assertEquals (2 , stats .getBackingIndices ());
@@ -153,7 +157,8 @@ public void testStatsExistingHiddenDataStream() throws Exception {
153157 long timestamp = createDocument (dataStreamName );
154158
155159 DataStreamsStatsAction .Response stats = getDataStreamsStats (true );
156- assertEquals (1 , stats .getSuccessfulShards ());
160+ assertEquals (2 , stats .getTotalShards ());
161+ assertEquals (2 , stats .getSuccessfulShards ());
157162 assertEquals (0 , stats .getFailedShards ());
158163 assertEquals (1 , stats .getDataStreamCount ());
159164 assertEquals (1 , stats .getBackingIndices ());
@@ -181,7 +186,8 @@ public void testStatsClosedBackingIndexDataStream() throws Exception {
181186 );
182187
183188 DataStreamsStatsAction .Response stats = getDataStreamsStats ();
184- assertEquals (2 , stats .getSuccessfulShards ());
189+ assertEquals (4 , stats .getTotalShards ());
190+ assertEquals (4 , stats .getSuccessfulShards ());
185191 assertEquals (0 , stats .getFailedShards ());
186192 assertEquals (1 , stats .getDataStreamCount ());
187193 assertEquals (2 , stats .getBackingIndices ());
@@ -197,7 +203,8 @@ public void testStatsClosedBackingIndexDataStream() throws Exception {
197203 long timestamp = createDocument (dataStreamName );
198204
199205 stats = getDataStreamsStats ();
200- assertEquals (2 , stats .getSuccessfulShards ());
206+ assertEquals (4 , stats .getTotalShards ());
207+ assertEquals (4 , stats .getSuccessfulShards ());
201208 assertEquals (0 , stats .getFailedShards ());
202209 assertEquals (1 , stats .getDataStreamCount ());
203210 assertEquals (2 , stats .getBackingIndices ());
@@ -218,7 +225,8 @@ public void testStatsRolledDataStream() throws Exception {
218225 timestamp = max (timestamp , createDocument (dataStreamName ));
219226
220227 DataStreamsStatsAction .Response stats = getDataStreamsStats ();
221- assertEquals (2 , stats .getSuccessfulShards ());
228+ assertEquals (4 , stats .getTotalShards ());
229+ assertEquals (4 , stats .getSuccessfulShards ());
222230 assertEquals (0 , stats .getFailedShards ());
223231 assertEquals (1 , stats .getDataStreamCount ());
224232 assertEquals (2 , stats .getBackingIndices ());
@@ -249,7 +257,8 @@ public void testStatsMultipleDataStreams() throws Exception {
249257
250258 DataStreamsStatsAction .Response stats = getDataStreamsStats ();
251259 logger .error (stats .toString ());
252- assertEquals (createdDataStreams .size (), stats .getSuccessfulShards ());
260+ assertEquals (createdDataStreams .size () * 2 , stats .getTotalShards ());
261+ assertEquals (createdDataStreams .size () * 2 , stats .getSuccessfulShards ());
253262 assertEquals (0 , stats .getFailedShards ());
254263 assertEquals (createdDataStreams .size (), stats .getDataStreamCount ());
255264 assertEquals (createdDataStreams .size (), stats .getBackingIndices ());
@@ -273,7 +282,7 @@ private String createDataStream(boolean hidden, boolean failureStore) throws Exc
273282 DataStreamOptions .Template failureStoreOptions = failureStore == false
274283 ? null
275284 : new DataStreamOptions .Template (DataStreamFailureStore .builder ().enabled (true ).buildTemplate ());
276- Template idxTemplate = new Template (null , new CompressedXContent ("""
285+ Template idxTemplate = new Template (indexSettings ( 2 , 0 ). build () , new CompressedXContent ("""
277286 {"properties":{"@timestamp":{"type":"date"},"data":{"type":"keyword"}}}
278287 """ ), null , null , failureStoreOptions );
279288 ComposableIndexTemplate template = ComposableIndexTemplate .builder ()
@@ -293,6 +302,7 @@ private String createDataStream(boolean hidden, boolean failureStore) throws Exc
293302 new CreateDataStreamAction .Request (TEST_REQUEST_TIMEOUT , TEST_REQUEST_TIMEOUT , dataStreamName )
294303 )
295304 );
305+ ensureGreen (dataStreamName );
296306 createdDataStreams .add (dataStreamName );
297307 return dataStreamName ;
298308 }
0 commit comments