@@ -642,5 +642,48 @@ public static ClusterState createClusterForShardLimitTest(int nodesInCluster, in
642642 .build ();
643643 }
644644
645+ public void testOptimizeAutoGeneratedIdsSettingRemoval () throws Exception {
646+ final IndicesService indicesService = getIndicesService ();
647+
648+ final Index index = new Index ("foo-index" , UUIDs .randomBase64UUID ());
649+ Settings .Builder builder = Settings .builder ()
650+ .put (IndexMetaData .SETTING_VERSION_CREATED , Version .V_7_0_0 )
651+ .put (IndexMetaData .SETTING_INDEX_UUID , index .getUUID ());
652+ IndexMetaData indexMetaData = new IndexMetaData .Builder (index .getName ())
653+ .settings (builder .build ())
654+ .numberOfShards (1 )
655+ .numberOfReplicas (0 )
656+ .build ();
657+ IndexService indexService = indicesService .createIndex (indexMetaData , Collections .emptyList ());
658+ assertNotNull (indexService );
659+
660+ final Index index2 = new Index ("bar-index" , UUIDs .randomBase64UUID ());
661+ Settings .Builder builder2 = Settings .builder ()
662+ .put (IndexMetaData .SETTING_VERSION_CREATED , Version .V_7_0_0 )
663+ .put (IndexMetaData .SETTING_INDEX_UUID , index2 .getUUID ())
664+ .put (EngineConfig .INDEX_OPTIMIZE_AUTO_GENERATED_IDS .getKey (), randomBoolean ());
665+ IndexMetaData indexMetaData2 = new IndexMetaData .Builder (index2 .getName ())
666+ .settings (builder2 .build ())
667+ .numberOfShards (1 )
668+ .numberOfReplicas (0 )
669+ .build ();
670+ IllegalArgumentException ex = expectThrows (IllegalArgumentException .class ,
671+ () -> indicesService .createIndex (indexMetaData2 , Collections .emptyList ()));
672+ assertEquals ("Setting [" + EngineConfig .INDEX_OPTIMIZE_AUTO_GENERATED_IDS .getKey () + "] was removed in version 7.0.0" ,
673+ ex .getMessage ());
674+
675+ Version version = randomFrom (Version .V_6_0_0_rc1 , Version .V_6_0_0 , Version .V_6_2_0 , Version .V_6_3_0 , Version .V_6_4_0 );
676+ builder = Settings .builder ()
677+ .put (IndexMetaData .SETTING_VERSION_CREATED , version )
678+ .put (IndexMetaData .SETTING_INDEX_UUID , index2 .getUUID ())
679+ .put (EngineConfig .INDEX_OPTIMIZE_AUTO_GENERATED_IDS .getKey (), randomBoolean ());
680+ IndexMetaData indexMetaData3 = new IndexMetaData .Builder (index2 .getName ())
681+ .settings (builder .build ())
682+ .numberOfShards (1 )
683+ .numberOfReplicas (0 )
684+ .build ();
685+ IndexService indexService2 = indicesService .createIndex (indexMetaData3 , Collections .emptyList ());
686+ assertNotNull (indexService2 );
687+ }
645688
646689}
0 commit comments