@@ -83,7 +83,11 @@ public void testGetAdditionalIndexSettings() throws Exception {
83
83
settings ,
84
84
List .of (new CompressedXContent (mapping ))
85
85
);
86
- assertThat (result .size (), equalTo (3 ));
86
+ // The index.time_series.end_time setting requires index.mode to be set to time_series adding it here so that we read this setting:
87
+ // (in production the index.mode setting is usually provided in an index or component template)
88
+ result = builder ().put (result ).put ("index.mode" , "time_series" ).build ();
89
+ assertThat (result .size (), equalTo (4 ));
90
+ assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
87
91
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
88
92
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
89
93
assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), contains ("field3" ));
@@ -124,7 +128,11 @@ public void testGetAdditionalIndexSettingsIndexRoutingPathAlreadyDefined() throw
124
128
settings ,
125
129
List .of (new CompressedXContent (mapping ))
126
130
);
127
- assertThat (result .size (), equalTo (2 ));
131
+ // The index.time_series.end_time setting requires index.mode to be set to time_series adding it here so that we read this setting:
132
+ // (in production the index.mode setting is usually provided in an index or component template)
133
+ result = builder ().put (result ).put ("index.mode" , "time_series" ).build ();
134
+ assertThat (result .size (), equalTo (3 ));
135
+ assertThat (result .get (IndexSettings .MODE .getKey ()), equalTo ("time_series" ));
128
136
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
129
137
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
130
138
}
@@ -190,7 +198,11 @@ public void testGetAdditionalIndexSettingsMappingsMerging() throws Exception {
190
198
settings ,
191
199
List .of (new CompressedXContent (mapping1 ), new CompressedXContent (mapping2 ), new CompressedXContent (mapping3 ))
192
200
);
193
- assertThat (result .size (), equalTo (3 ));
201
+ // The index.time_series.end_time setting requires index.mode to be set to time_series adding it here so that we read this setting:
202
+ // (in production the index.mode setting is usually provided in an index or component template)
203
+ result = builder ().put (result ).put ("index.mode" , "time_series" ).build ();
204
+ assertThat (result .size (), equalTo (4 ));
205
+ assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
194
206
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
195
207
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
196
208
assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), containsInAnyOrder ("field1" , "field3" ));
@@ -211,7 +223,11 @@ public void testGetAdditionalIndexSettingsNoMappings() {
211
223
settings ,
212
224
List .of ()
213
225
);
214
- assertThat (result .size (), equalTo (2 ));
226
+ // The index.time_series.end_time setting requires index.mode to be set to time_series adding it here so that we read this setting:
227
+ // (in production the index.mode setting is usually provided in an index or component template)
228
+ result = builder ().put (result ).put ("index.mode" , "time_series" ).build ();
229
+ assertThat (result .size (), equalTo (3 ));
230
+ assertThat (result .get (IndexSettings .MODE .getKey ()), equalTo ("time_series" ));
215
231
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
216
232
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
217
233
}
@@ -232,7 +248,11 @@ public void testGetAdditionalIndexSettingsLookAheadTime() throws Exception {
232
248
settings ,
233
249
List .of (new CompressedXContent ("{}" ))
234
250
);
235
- assertThat (result .size (), equalTo (2 ));
251
+ // The index.time_series.end_time setting requires index.mode to be set to time_series adding it here so that we read this setting:
252
+ // (in production the index.mode setting is usually provided in an index or component template)
253
+ result = builder ().put (result ).put ("index.mode" , "time_series" ).build ();
254
+ assertThat (result .size (), equalTo (3 ));
255
+ assertThat (result .get (IndexSettings .MODE .getKey ()), equalTo ("time_series" ));
236
256
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
237
257
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (lookAheadTime .getMillis ())));
238
258
}
@@ -253,7 +273,11 @@ public void testGetAdditionalIndexSettingsLookBackTime() throws Exception {
253
273
settings ,
254
274
List .of (new CompressedXContent ("{}" ))
255
275
);
256
- assertThat (result .size (), equalTo (2 ));
276
+ // The index.time_series.end_time setting requires index.mode to be set to time_series adding it here so that we read this setting:
277
+ // (in production the index.mode setting is usually provided in an index or component template)
278
+ result = builder ().put (result ).put ("index.mode" , "time_series" ).build ();
279
+ assertThat (result .size (), equalTo (3 ));
280
+ assertThat (result .get (IndexSettings .MODE .getKey ()), equalTo ("time_series" ));
257
281
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (lookBackTime .getMillis ())));
258
282
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
259
283
}
@@ -363,7 +387,11 @@ public void testGetAdditionalIndexSettingsMigrateToTsdb() {
363
387
settings ,
364
388
List .of ()
365
389
);
366
- assertThat (result .size (), equalTo (2 ));
390
+ // The index.time_series.end_time setting requires index.mode to be set to time_series adding it here so that we read this setting:
391
+ // (in production the index.mode setting is usually provided in an index or component template)
392
+ result = builder ().put (result ).put ("index.mode" , "time_series" ).build ();
393
+ assertThat (result .size (), equalTo (3 ));
394
+ assertThat (result .get (IndexSettings .MODE .getKey ()), equalTo ("time_series" ));
367
395
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
368
396
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
369
397
}
@@ -428,7 +456,8 @@ public void testGenerateRoutingPathFromDynamicTemplate() throws Exception {
428
456
}
429
457
""" ;
430
458
Settings result = generateTsdbSettings (mapping , now );
431
- assertThat (result .size (), equalTo (3 ));
459
+ assertThat (result .size (), equalTo (4 ));
460
+ assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
432
461
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
433
462
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
434
463
assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), containsInAnyOrder ("host.id" , "prometheus.labels.*" ));
@@ -467,7 +496,8 @@ public void testGenerateRoutingPathFromDynamicTemplateWithMultiplePathMatchEntri
467
496
}
468
497
""" ;
469
498
Settings result = generateTsdbSettings (mapping , now );
470
- assertThat (result .size (), equalTo (3 ));
499
+ assertThat (result .size (), equalTo (4 ));
500
+ assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
471
501
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
472
502
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
473
503
assertThat (
@@ -516,7 +546,8 @@ public void testGenerateRoutingPathFromDynamicTemplateWithMultiplePathMatchEntri
516
546
}
517
547
""" ;
518
548
Settings result = generateTsdbSettings (mapping , now );
519
- assertThat (result .size (), equalTo (3 ));
549
+ assertThat (result .size (), equalTo (4 ));
550
+ assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
520
551
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
521
552
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
522
553
assertThat (
@@ -569,7 +600,8 @@ public void testGenerateRoutingPathFromDynamicTemplate_templateWithNoPathMatch()
569
600
}
570
601
""" ;
571
602
Settings result = generateTsdbSettings (mapping , now );
572
- assertThat (result .size (), equalTo (3 ));
603
+ assertThat (result .size (), equalTo (4 ));
604
+ assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
573
605
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
574
606
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
575
607
assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), containsInAnyOrder ("host.id" , "prometheus.labels.*" ));
@@ -644,7 +676,8 @@ public void testGenerateRoutingPathFromPassThroughObject() throws Exception {
644
676
}
645
677
""" ;
646
678
Settings result = generateTsdbSettings (mapping , now );
647
- assertThat (result .size (), equalTo (3 ));
679
+ assertThat (result .size (), equalTo (4 ));
680
+ assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
648
681
assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
649
682
assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
650
683
assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), containsInAnyOrder ("labels.*" ));
@@ -655,7 +688,7 @@ private Settings generateTsdbSettings(String mapping, Instant now) throws IOExce
655
688
String dataStreamName = "logs-app1" ;
656
689
Settings settings = Settings .EMPTY ;
657
690
658
- return provider .getAdditionalIndexSettings (
691
+ var result = provider .getAdditionalIndexSettings (
659
692
DataStream .getDefaultBackingIndexName (dataStreamName , 1 ),
660
693
dataStreamName ,
661
694
true ,
@@ -664,6 +697,9 @@ private Settings generateTsdbSettings(String mapping, Instant now) throws IOExce
664
697
settings ,
665
698
List .of (new CompressedXContent (mapping ))
666
699
);
700
+ // The index.time_series.end_time setting requires index.mode to be set to time_series adding it here so that we read this setting:
701
+ // (in production the index.mode setting is usually provided in an index or component template)
702
+ return builder ().put (result ).put ("index.mode" , "time_series" ).build ();
667
703
}
668
704
669
705
}
0 commit comments