3333import static org .elasticsearch .cluster .metadata .DataStreamTestHelper .newInstance ;
3434import static org .elasticsearch .common .settings .Settings .builder ;
3535import static org .elasticsearch .datastreams .DataStreamIndexSettingsProvider .FORMATTER ;
36- import static org .hamcrest .Matchers .contains ;
3736import static org .hamcrest .Matchers .containsInAnyOrder ;
3837import static org .hamcrest .Matchers .equalTo ;
3938
@@ -70,6 +69,18 @@ public void testGetAdditionalIndexSettings() throws Exception {
7069 "field3": {
7170 "type": "keyword",
7271 "time_series_dimension": true
72+ },
73+ "field4": {
74+ "type": "long",
75+ "time_series_dimension": true
76+ },
77+ "field5": {
78+ "type": "ip",
79+ "time_series_dimension": true
80+ },
81+ "field6": {
82+ "type": "boolean",
83+ "time_series_dimension": true
7384 }
7485 }
7586 }
@@ -91,7 +102,7 @@ public void testGetAdditionalIndexSettings() throws Exception {
91102 assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
92103 assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
93104 assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
94- assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), contains ("field3" ));
105+ assertThat (IndexMetadata .INDEX_DIMENSIONS .get (result ), containsInAnyOrder ("field3" , "field4" , "field5" , "field6 " ));
95106 }
96107
97108 public void testGetAdditionalIndexSettingsIndexRoutingPathAlreadyDefined () throws Exception {
@@ -105,7 +116,7 @@ public void testGetAdditionalIndexSettingsIndexRoutingPathAlreadyDefined() throw
105116 "_doc": {
106117 "properties": {
107118 "field1": {
108- "type": "keyword"
119+ "type": "keyword",
109120 "time_series_dimension": true
110121 },
111122 "field2": {
@@ -132,10 +143,11 @@ public void testGetAdditionalIndexSettingsIndexRoutingPathAlreadyDefined() throw
132143 // 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:
133144 // (in production the index.mode setting is usually provided in an index or component template)
134145 result = builder ().put (result ).put ("index.mode" , "time_series" ).build ();
135- assertThat (result .size (), equalTo (3 ));
146+ assertThat (result .size (), equalTo (4 ));
136147 assertThat (result .get (IndexSettings .MODE .getKey ()), equalTo ("time_series" ));
137148 assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
138149 assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
150+ assertThat (IndexMetadata .INDEX_DIMENSIONS .get (result ), containsInAnyOrder ("field1" , "field2" , "field3" ));
139151 }
140152
141153 public void testGetAdditionalIndexSettingsMappingsMerging () throws Exception {
@@ -206,7 +218,7 @@ public void testGetAdditionalIndexSettingsMappingsMerging() throws Exception {
206218 assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
207219 assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
208220 assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
209- assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), containsInAnyOrder ("field1" , "field3" ));
221+ assertThat (IndexMetadata .INDEX_DIMENSIONS .get (result ), containsInAnyOrder ("field1" , "field3" ));
210222 }
211223
212224 public void testGetAdditionalIndexSettingsNoMappings () {
@@ -461,7 +473,7 @@ public void testGenerateRoutingPathFromDynamicTemplate() throws Exception {
461473 assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
462474 assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
463475 assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
464- assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), containsInAnyOrder ("host.id" , "prometheus.labels.*" ));
476+ assertThat (IndexMetadata .INDEX_DIMENSIONS .get (result ), containsInAnyOrder ("host.id" , "prometheus.labels.*" ));
465477 }
466478
467479 public void testGenerateRoutingPathFromDynamicTemplateWithMultiplePathMatchEntries () throws Exception {
@@ -502,10 +514,10 @@ public void testGenerateRoutingPathFromDynamicTemplateWithMultiplePathMatchEntri
502514 assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
503515 assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
504516 assertThat (
505- IndexMetadata .INDEX_ROUTING_PATH .get (result ),
517+ IndexMetadata .INDEX_DIMENSIONS .get (result ),
506518 containsInAnyOrder ("host.id" , "xprometheus.labels.*" , "yprometheus.labels.*" )
507519 );
508- List <String > routingPathList = IndexMetadata .INDEX_ROUTING_PATH .get (result );
520+ List <String > routingPathList = IndexMetadata .INDEX_DIMENSIONS .get (result );
509521 assertEquals (3 , routingPathList .size ());
510522 }
511523
@@ -552,10 +564,10 @@ public void testGenerateRoutingPathFromDynamicTemplateWithMultiplePathMatchEntri
552564 assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
553565 assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
554566 assertThat (
555- IndexMetadata .INDEX_ROUTING_PATH .get (result ),
567+ IndexMetadata .INDEX_DIMENSIONS .get (result ),
556568 containsInAnyOrder ("host.id" , "xprometheus.labels.*" , "yprometheus.labels.*" )
557569 );
558- List <String > routingPathList = IndexMetadata .INDEX_ROUTING_PATH .get (result );
570+ List <String > routingPathList = IndexMetadata .INDEX_DIMENSIONS .get (result );
559571 assertEquals (3 , routingPathList .size ());
560572 }
561573
@@ -605,7 +617,7 @@ public void testGenerateRoutingPathFromDynamicTemplate_templateWithNoPathMatch()
605617 assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
606618 assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
607619 assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
608- assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), containsInAnyOrder ("host.id" , "prometheus.labels.*" ));
620+ assertThat (IndexMetadata .INDEX_DIMENSIONS .get (result ), containsInAnyOrder ("host.id" , "prometheus.labels.*" ));
609621 }
610622
611623 public void testGenerateRoutingPathFromDynamicTemplate_nonKeywordTemplate () throws Exception {
@@ -652,8 +664,8 @@ public void testGenerateRoutingPathFromDynamicTemplate_nonKeywordTemplate() thro
652664 Settings result = generateTsdbSettings (mapping , now );
653665 assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
654666 assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
655- assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), containsInAnyOrder ("host.id" , "prometheus.labels.*" ));
656- assertEquals (2 , IndexMetadata .INDEX_ROUTING_PATH .get (result ).size ());
667+ assertThat (IndexMetadata .INDEX_DIMENSIONS .get (result ), containsInAnyOrder ("host.id" , "prometheus.labels.*" ));
668+ assertEquals (2 , IndexMetadata .INDEX_DIMENSIONS .get (result ).size ());
657669 }
658670
659671 public void testGenerateRoutingPathFromPassThroughObject () throws Exception {
@@ -665,7 +677,12 @@ public void testGenerateRoutingPathFromPassThroughObject() throws Exception {
665677 "labels": {
666678 "type": "passthrough",
667679 "time_series_dimension": true,
668- "priority": 2
680+ "priority": 2,
681+ "properties": {
682+ "label1": {
683+ "type": "keyword"
684+ }
685+ }
669686 },
670687 "metrics": {
671688 "type": "passthrough",
@@ -683,7 +700,7 @@ public void testGenerateRoutingPathFromPassThroughObject() throws Exception {
683700 assertThat (IndexSettings .MODE .get (result ), equalTo (IndexMode .TIME_SERIES ));
684701 assertThat (IndexSettings .TIME_SERIES_START_TIME .get (result ), equalTo (now .minusMillis (DEFAULT_LOOK_BACK_TIME .getMillis ())));
685702 assertThat (IndexSettings .TIME_SERIES_END_TIME .get (result ), equalTo (now .plusMillis (DEFAULT_LOOK_AHEAD_TIME .getMillis ())));
686- assertThat (IndexMetadata .INDEX_ROUTING_PATH .get (result ), containsInAnyOrder ("labels.*" ));
703+ assertThat (IndexMetadata .INDEX_DIMENSIONS .get (result ), containsInAnyOrder ("labels.*" ));
687704 }
688705
689706 private Settings generateTsdbSettings (String mapping , Instant now ) throws IOException {
0 commit comments