This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch docs/scheduler-strategy-whitelist-note
in repository https://gitbox.apache.org/repos/asf/storm.git

commit efbf2f38e60c09752522f2f5ea8754d708506138
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";

Reply via email to