public void testDeleteIsAppliedFirst() { DiscoverySettings discoverySettings = getDiscoverySettings(); assertEquals( discoverySettings.getPublishTimeout(), DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY)); assertTrue(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY)); ClusterUpdateSettingsResponse response = client() .admin() .cluster() .prepareUpdateSettings() .setTransientSettings( Settings.builder() .put(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey(), false) .put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") .build()) .get(); assertAcked(response); assertEquals( response .getTransientSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), "1s"); assertTrue(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY)); assertFalse( response .getTransientSettings() .getAsBoolean(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey(), null)); response = client() .admin() .cluster() .prepareUpdateSettings() .setTransientSettings( Settings.builder() .putNull((randomBoolean() ? "discovery.zen.*" : "*")) .put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "2s")) .get(); assertEquals( response .getTransientSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), "2s"); assertNull( response .getTransientSettings() .getAsBoolean(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey(), null)); }
public void testUpdateDiscoveryPublishTimeout() { DiscoverySettings discoverySettings = getDiscoverySettings(); assertThat( discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY))); ClusterUpdateSettingsResponse response = client() .admin() .cluster() .prepareUpdateSettings() .setTransientSettings( Settings.builder() .put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") .build()) .get(); assertAcked(response); assertThat( response .getTransientSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s")); assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L)); try { client() .admin() .cluster() .prepareUpdateSettings() .setTransientSettings( Settings.builder() .put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "whatever") .build()) .get(); fail("bogus value"); } catch (IllegalArgumentException ex) { assertEquals( ex.getMessage(), "failed to parse setting [discovery.zen.publish_timeout] with value [whatever] as a time value: unit is missing or unrecognized"); } assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L)); try { client() .admin() .cluster() .prepareUpdateSettings() .setTransientSettings( Settings.builder() .put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), -1) .build()) .get(); fail("bogus value"); } catch (IllegalArgumentException ex) { assertEquals( ex.getMessage(), "Failed to parse value [-1] for setting [discovery.zen.publish_timeout] must be >= 0s"); } assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L)); }
public void testResetClusterSetting() { DiscoverySettings discoverySettings = getDiscoverySettings(); assertThat( discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY))); assertThat( discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY))); ClusterUpdateSettingsResponse response = client() .admin() .cluster() .prepareUpdateSettings() .setTransientSettings( Settings.builder() .put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") .build()) .get(); assertAcked(response); assertThat( response .getTransientSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s")); assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L)); assertThat( discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY))); response = client() .admin() .cluster() .prepareUpdateSettings() .setTransientSettings( Settings.builder().putNull(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey())) .get(); assertAcked(response); assertNull( response .getTransientSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey())); assertThat( discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY))); assertThat( discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY))); response = client() .admin() .cluster() .prepareUpdateSettings() .setTransientSettings( Settings.builder() .put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") .put(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey(), false) .build()) .get(); assertAcked(response); assertThat( response .getTransientSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s")); assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L)); assertFalse(discoverySettings.getPublishDiff()); response = client() .admin() .cluster() .prepareUpdateSettings() .setTransientSettings( Settings.builder().putNull((randomBoolean() ? "discovery.zen.*" : "*"))) .get(); assertNull( response .getTransientSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey())); assertNull( response .getTransientSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey())); assertThat( discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY))); assertThat( discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY))); // now persistent response = client() .admin() .cluster() .prepareUpdateSettings() .setPersistentSettings( Settings.builder() .put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") .build()) .get(); assertAcked(response); assertThat( response .getPersistentSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s")); assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L)); assertThat( discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY))); response = client() .admin() .cluster() .prepareUpdateSettings() .setPersistentSettings( Settings.builder().putNull((DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()))) .get(); assertAcked(response); assertNull( response .getPersistentSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey())); assertThat( discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY))); assertThat( discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY))); response = client() .admin() .cluster() .prepareUpdateSettings() .setPersistentSettings( Settings.builder() .put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") .put(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey(), false) .build()) .get(); assertAcked(response); assertThat( response .getPersistentSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s")); assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L)); assertFalse(discoverySettings.getPublishDiff()); response = client() .admin() .cluster() .prepareUpdateSettings() .setPersistentSettings( Settings.builder().putNull((randomBoolean() ? "discovery.zen.*" : "*"))) .get(); assertNull( response .getPersistentSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey())); assertNull( response .getPersistentSettings() .getAsMap() .get(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey())); assertThat( discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY))); assertThat( discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY))); }