This is an automated email from the ASF dual-hosted git repository.
rzo1 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm.git
The following commit(s) were added to refs/heads/master by this push:
new 059ebea9c Document that an unset scheduler strategy whitelist no
longer allows every strategy class
059ebea9c is described below
commit 059ebea9c482aad91d0c1dc13623a1a0438c72d7
Author: Richard Zowalla <[email protected]>
AuthorDate: Sat Aug 22 19:05:57 2026 +0200
Document that an unset scheduler strategy whitelist no longer allows every
strategy class
---
conf/defaults.yaml | 1 +
docs/Resource_Aware_Scheduler_overview.md | 2 +-
storm-client/src/jvm/org/apache/storm/Config.java | 3 ++-
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/conf/defaults.yaml b/conf/defaults.yaml
index 8a1361ff2..6fd7a04b9 100644
--- a/conf/defaults.yaml
+++ b/conf/defaults.yaml
@@ -92,6 +92,7 @@ nimbus.file.copy.expiration.secs: 600
nimbus.topology.validator: "org.apache.storm.nimbus.DefaultTopologyValidator"
# The scheduler strategies that a topology is allowed to select through
topology.scheduler.strategy.
# Defaults to the strategies shipped with Storm; a custom strategy must be
added to this list.
+# Removing this config or leaving it unset selects the same shipped
strategies, not all of them.
nimbus.scheduler.strategy.class.whitelist:
-
"org.apache.storm.scheduler.resource.strategies.scheduling.DefaultResourceAwareStrategy"
-
"org.apache.storm.scheduler.resource.strategies.scheduling.DefaultResourceAwareStrategyOld"
diff --git a/docs/Resource_Aware_Scheduler_overview.md
b/docs/Resource_Aware_Scheduler_overview.md
index 353cc0f3e..2b5c0d30b 100644
--- a/docs/Resource_Aware_Scheduler_overview.md
+++ b/docs/Resource_Aware_Scheduler_overview.md
@@ -251,7 +251,7 @@ A user can specify on a per topology basis what scheduling
strategy to use. Use
Parameters:
* clazz – The strategy class that implements the IStrategy interface
-Only the strategies that ship with Storm may be selected by default. A
strategy of your own has to be added to
`nimbus.scheduler.strategy.class.whitelist` in the nimbus configuration,
otherwise nimbus refuses to schedule the topology and reports which class was
refused.
+Only the strategies that ship with Storm may be selected by default. They are
listed under `nimbus.scheduler.strategy.class.whitelist` in
*conf/defaults.yaml*, and the same set applies when that config is not set at
all. This differs from earlier releases, where leaving
`nimbus.scheduler.strategy.class.whitelist` unset allowed any strategy class on
the nimbus classpath, so a cluster upgrading from such a release has to add its
own strategies to the list. A strategy of your own has to [...]
Example Usage:
```
diff --git a/storm-client/src/jvm/org/apache/storm/Config.java
b/storm-client/src/jvm/org/apache/storm/Config.java
index 8ac78f954..226a4b4ca 100644
--- a/storm-client/src/jvm/org/apache/storm/Config.java
+++ b/storm-client/src/jvm/org/apache/storm/Config.java
@@ -2079,7 +2079,8 @@ public class Config extends HashMap<String, Object> {
public static final String NIMBUS_IMPERSONATION_ACL =
"nimbus.impersonation.acl";
/**
* A whitelist of the RAS scheduler strategies allowed by nimbus. Should
be a list of fully-qualified class names. When it is not
- * set only the scheduler strategies shipped with Storm are allowed, so a
custom strategy has to be listed here explicitly.
+ * set only the scheduler strategies shipped with Storm are allowed, so a
custom strategy has to be listed here explicitly. A
+ * topology that selects a strategy which is not allowed is rejected by
nimbus.
*/
@IsStringList
public static final String NIMBUS_SCHEDULER_STRATEGY_CLASS_WHITELIST =
"nimbus.scheduler.strategy.class.whitelist";