Allow dynamic updates for index.hidden setting (#52837)
This commit changes the `index.hidden` setting from being final to a dynamic setting. While the setting being final allows for easier reasoning about an index, making this setting update-able has more benefits in that we can upgrade existing indices to be hidden and it will enable future features that would dynamically make indices hidden. Backport of #52772
This commit is contained in:
parent
bfaa487757
commit
07ef8ccff4
|
@ -262,7 +262,7 @@ public class IndexMetaData implements Diffable<IndexMetaData>, ToXContentFragmen
|
||||||
* normal wildcard searches unless explicitly allowed
|
* normal wildcard searches unless explicitly allowed
|
||||||
*/
|
*/
|
||||||
public static final Setting<Boolean> INDEX_HIDDEN_SETTING =
|
public static final Setting<Boolean> INDEX_HIDDEN_SETTING =
|
||||||
Setting.boolSetting(SETTING_INDEX_HIDDEN, false, Property.IndexScope, Property.Final);
|
Setting.boolSetting(SETTING_INDEX_HIDDEN, false, Property.Dynamic, Property.IndexScope);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* an internal index format description, allowing us to find out if this index is upgraded or needs upgrading
|
* an internal index format description, allowing us to find out if this index is upgraded or needs upgrading
|
||||||
|
|
|
@ -77,6 +77,15 @@ public class HiddenIndexIT extends ESIntegTestCase {
|
||||||
.get();
|
.get();
|
||||||
matchedHidden = Arrays.stream(searchResponse.getHits().getHits()).anyMatch(hit -> ".hidden-index".equals(hit.getIndex()));
|
matchedHidden = Arrays.stream(searchResponse.getHits().getHits()).anyMatch(hit -> ".hidden-index".equals(hit.getIndex()));
|
||||||
assertTrue(matchedHidden);
|
assertTrue(matchedHidden);
|
||||||
|
|
||||||
|
// make index not hidden
|
||||||
|
assertAcked(client().admin().indices().prepareUpdateSettings("hidden-index")
|
||||||
|
.setSettings(Settings.builder().put("index.hidden", false).build())
|
||||||
|
.get());
|
||||||
|
searchResponse =
|
||||||
|
client().prepareSearch(randomFrom("*", "_all", "h*", "*index")).setSize(1000).setQuery(QueryBuilders.matchAllQuery()).get();
|
||||||
|
matchedHidden = Arrays.stream(searchResponse.getHits().getHits()).anyMatch(hit -> "hidden-index".equals(hit.getIndex()));
|
||||||
|
assertTrue(matchedHidden);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testGlobalTemplatesDoNotApply() {
|
public void testGlobalTemplatesDoNotApply() {
|
||||||
|
|
|
@ -368,6 +368,7 @@ public class TransportResumeFollowAction extends TransportMasterNodeAction<Resum
|
||||||
nonReplicatedSettings.add(IndexMetaData.INDEX_BLOCKS_READ_ONLY_ALLOW_DELETE_SETTING);
|
nonReplicatedSettings.add(IndexMetaData.INDEX_BLOCKS_READ_ONLY_ALLOW_DELETE_SETTING);
|
||||||
nonReplicatedSettings.add(IndexMetaData.INDEX_PRIORITY_SETTING);
|
nonReplicatedSettings.add(IndexMetaData.INDEX_PRIORITY_SETTING);
|
||||||
nonReplicatedSettings.add(IndexMetaData.SETTING_WAIT_FOR_ACTIVE_SHARDS);
|
nonReplicatedSettings.add(IndexMetaData.SETTING_WAIT_FOR_ACTIVE_SHARDS);
|
||||||
|
nonReplicatedSettings.add(IndexMetaData.INDEX_HIDDEN_SETTING);
|
||||||
|
|
||||||
nonReplicatedSettings.add(EnableAllocationDecider.INDEX_ROUTING_REBALANCE_ENABLE_SETTING);
|
nonReplicatedSettings.add(EnableAllocationDecider.INDEX_ROUTING_REBALANCE_ENABLE_SETTING);
|
||||||
nonReplicatedSettings.add(EnableAllocationDecider.INDEX_ROUTING_ALLOCATION_ENABLE_SETTING);
|
nonReplicatedSettings.add(EnableAllocationDecider.INDEX_ROUTING_ALLOCATION_ENABLE_SETTING);
|
||||||
|
|
Loading…
Reference in New Issue