diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/DataStreamGlobalRetentionSettings.java b/server/src/main/java/org/elasticsearch/cluster/metadata/DataStreamGlobalRetentionSettings.java
index 1940b54b7ca03..fcd8161f4a54a 100644
--- a/server/src/main/java/org/elasticsearch/cluster/metadata/DataStreamGlobalRetentionSettings.java
+++ b/server/src/main/java/org/elasticsearch/cluster/metadata/DataStreamGlobalRetentionSettings.java
@@ -11,6 +11,7 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.elasticsearch.common.settings.AbstractContextlessScopedSettings;
import org.elasticsearch.common.settings.ClusterSettings;
import org.elasticsearch.common.settings.Setting;
import org.elasticsearch.common.settings.Settings;
@@ -112,7 +113,7 @@ public void validate(final TimeValue settingValue, final Map
+ * Note: Only settings registered in {@link SettingsModule} can be changed dynamically.
+ *
+ * Note: Only settings registered in {@link org.elasticsearch.cluster.ClusterModule} can be changed dynamically.
+ *
+ * Note: Only settings registered in {@link SettingsModule} can be changed dynamically.
+ *
- * Note: Only settings registered in {@link org.elasticsearch.cluster.ClusterModule} can be changed dynamically. - *
- */ - public synchronizedtrue iff the value has been updated.
*/
- default boolean apply(Settings current, Settings previous) {
+ default boolean apply(C context, Settings current, Settings previous) {
if (hasChanged(current, previous)) {
T value = getValue(current, previous);
- apply(value, current, previous);
+ apply(context, value, current, previous);
return true;
}
return false;
}
/**
- * Returns a callable runnable that calls {@link #apply(Object, Settings, Settings)} if the settings
+ * Returns a callable runnable that calls {@link #apply(C, Settings, Settings)} if the settings
* actually changed. This allows to defer the update to a later point in time while keeping type safety.
* If the value didn't change the returned runnable is a noop.
*/
- default Runnable updater(Settings current, Settings previous) {
+ default Runnable updater(C context, Settings current, Settings previous) {
if (hasChanged(current, previous)) {
T value = getValue(current, previous);
- return () -> { apply(value, current, previous); };
+ return () -> { apply(context, value, current, previous); };
}
return () -> {};
}
@@ -741,21 +644,6 @@ public Settings diff(Settings source, Settings defaultSettings) {
return builder.build();
}
- /**
- * Returns the value for the given setting.
- */
- public
diff --git a/server/src/main/java/org/elasticsearch/common/settings/BaseSettingsUpdater.java b/server/src/main/java/org/elasticsearch/common/settings/BaseSettingsUpdater.java
index 22ae72019182b..9f587f6adfe2c 100644
--- a/server/src/main/java/org/elasticsearch/common/settings/BaseSettingsUpdater.java
+++ b/server/src/main/java/org/elasticsearch/common/settings/BaseSettingsUpdater.java
@@ -17,10 +17,10 @@
import static org.elasticsearch.common.settings.AbstractScopedSettings.ARCHIVED_SETTINGS_PREFIX;
-public abstract class BaseSettingsUpdater {
- protected final AbstractScopedSettings scopedSettings;
+public abstract class BaseSettingsUpdater
+ * Note: Only settings registered in {@link org.elasticsearch.cluster.ClusterModule} can be changed dynamically.
+ *
+ * Note: Only settings registered in {@link SettingsModule} can be changed dynamically.
+ *