Skip to content

Commit b3611ff

Browse files
committed
Operator factor settings should have the OperatorDynamic setting property (elastic#83359)
Relates elastic#82819
1 parent 5f73279 commit b3611ff

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

server/src/main/java/org/elasticsearch/indices/recovery/RecoverySettings.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,12 @@ public class RecoverySettings {
104104
DEFAULT_FACTOR_VALUE
105105
);
106106

107-
public static final Setting<Double> NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_WRITE_SETTING = factorSetting(
108-
"node.bandwidth.recovery.operator.factor.write",
109-
NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_SETTING
107+
public static final Setting<Double> NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_WRITE_SETTING = operatorFactorSetting(
108+
"node.bandwidth.recovery.operator.factor.write"
110109
);
111110

112-
public static final Setting<Double> NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_READ_SETTING = factorSetting(
113-
"node.bandwidth.recovery.operator.factor.read",
114-
NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_SETTING
111+
public static final Setting<Double> NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_READ_SETTING = operatorFactorSetting(
112+
"node.bandwidth.recovery.operator.factor.read"
115113
);
116114

117115
public static final Setting<Double> NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_MAX_OVERCOMMIT_SETTING = Setting.doubleSetting(
@@ -185,6 +183,14 @@ private static Setting<Double> operatorFactorSetting(String key, double defaultV
185183
}, Property.NodeScope, Property.OperatorDynamic);
186184
}
187185

186+
private static Setting<Double> operatorFactorSetting(String key) {
187+
return new Setting<>(key, NODE_BANDWIDTH_RECOVERY_OPERATOR_FACTOR_SETTING, s -> Setting.parseDouble(s, 0d, 1d, key), v -> {
188+
if (v == 0d) {
189+
throw new IllegalArgumentException("Failed to validate value [" + v + "] for factor setting [" + key + "] must be > [0]");
190+
}
191+
}, Property.NodeScope, Property.OperatorDynamic);
192+
}
193+
188194
/**
189195
* User-defined factors have a value in (0.0, 1.0] and fall back to a corresponding operator factor setting.
190196
*/

0 commit comments

Comments
 (0)