@@ -713,13 +713,19 @@ public void testAddDimensionToMapping() throws Exception {
713713 }
714714 """ , XContentType .JSON );
715715 ActionFuture <AcknowledgedResponse > putMappingFuture = client ().execute (TransportPutMappingAction .TYPE , putMappingRequest );
716- IllegalArgumentException exception = assertThrows (IllegalArgumentException .class , putMappingFuture ::actionGet );
717- assertThat (
718- exception .getMessage (),
719- containsString ("Cannot add dynamic templates that define dimension fields on an existing index with index.dimensions" )
720- );
721- assertThat (getSetting (dataStreamName , IndexMetadata .INDEX_DIMENSIONS ), containsInAnyOrder ("metricset" , "k8s.pod.name" ));
722- assertThat (getSetting (dataStreamName , IndexMetadata .INDEX_ROUTING_PATH ), empty ());
716+ if (indexDimensionsTsidStrategyEnabled ) {
717+ IllegalArgumentException exception = assertThrows (IllegalArgumentException .class , putMappingFuture ::actionGet );
718+ assertThat (
719+ exception .getMessage (),
720+ containsString ("Cannot add dynamic templates that define dimension fields on an existing index with index.dimensions" )
721+ );
722+ assertThat (getSetting (dataStreamName , IndexMetadata .INDEX_DIMENSIONS ), containsInAnyOrder ("metricset" , "k8s.pod.name" ));
723+ assertThat (getSetting (dataStreamName , IndexMetadata .INDEX_ROUTING_PATH ), empty ());
724+ } else {
725+ assertAcked (putMappingFuture .actionGet ());
726+ assertThat (getSetting (dataStreamName , IndexMetadata .INDEX_DIMENSIONS ), empty ());
727+ assertThat (getSetting (dataStreamName , IndexMetadata .INDEX_ROUTING_PATH ), equalTo (List .of ("metricset" )));
728+ }
723729 indexWithPodNames (dataStreamName , Instant .now (), Map .of (), "dog" , "cat" );
724730 }
725731
0 commit comments