Really sorry for that. I will repost my question as follows. Hi, I want to implement a feature in auto-tuning the max-spout-pending parameter. (Yes, you already have known that this is the idea inspired by Twitter's 2014 Sigmod paper) Now I want to put some configuration in the defaults.yaml to control whether using the auto-tuning functionality and the tuning interval. So I did that in defaults.yaml
topology.max.spout.pending: null topology.max.spout.pending.auto: false topology.max.spout.pending.update.interval: 120 topology.state.synchronization.timeout.secs: 60 And the corresponding code in the Config.java is as follows: public static final String TOPOLOGY_MAX_SPOUT_PENDING="topology.max.spout.pending"; public static final Object TOPOLOGY_MAX_SPOUT_PENDING_SCHEMA = ConfigValidation.IntegerValidator; public static final String TOPOLOGY_MAX_SPOUT_PENDING_AUTO="topology.max.spout.pending.auto"; public static final Object TOPOLOGY_MAX_SPOUT_PENDING_AUTO_SCHEMA = Boolean.class; public static final String TOPOLOGY_MAX_SPOUT_PENDING_UPDATE_INTERVAL="topology.max.spout.pending.update.interval"; public static final Object TOPOLOGY_MAX_SPOUT_PENDING_UPDATE_INTERVAL_SCHEMA = ConfigValidation.IntegerValidator; As I run the *mvn compile* Maven gives me such errors *626 [main] INFO backtype.storm.utils.Utils - Using defaults.yaml from resources* *Exception in thread "main" java.lang.ExceptionInInitializerError* * at java.lang.Class.forName0(Native Method)* * at java.lang.Class.forName(Class.java:270)* * at clojure.lang.RT.loadClassForName(RT.java:2093)* * at clojure.lang.RT.load(RT.java:430)* * at clojure.lang.RT.load(RT.java:411)* * at clojure.core$load$fn__5066.invoke(core.clj:5641)* * at clojure.core$load.doInvoke(core.clj:5640)* * at clojure.lang.RestFn.invoke(RestFn.java:408)* * at clojure.core$load_one.invoke(core.clj:5446)* * at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)* * at clojure.core$load_lib.doInvoke(core.clj:5485)* * at clojure.lang.RestFn.applyTo(RestFn.java:142)* * at clojure.core$apply.invoke(core.clj:626)* * at clojure.core$load_libs.doInvoke(core.clj:5528)* * at clojure.lang.RestFn.applyTo(RestFn.java:137)* * at clojure.core$apply.invoke(core.clj:628)* * at clojure.core$use.doInvoke(core.clj:5618)* * at clojure.lang.RestFn.invoke(RestFn.java:408)* * at backtype.storm.ui.core$loading__4958__auto__.invoke(core.clj:17)* * at backtype.storm.ui.core__init.load(Unknown Source)* * at backtype.storm.ui.core__init.<clinit>(Unknown Source)* * at java.lang.Class.forName0(Native Method)* * at java.lang.Class.forName(Class.java:270)* * at clojure.lang.RT.loadClassForName(RT.java:2093)* * at clojure.lang.RT.load(RT.java:430)* * at clojure.lang.RT.load(RT.java:411)* * at clojure.core$load$fn__5066.invoke(core.clj:5641)* * at clojure.core$load.doInvoke(core.clj:5640)* * at clojure.lang.RestFn.invoke(RestFn.java:408)* * at clojure.core$load_one.invoke(core.clj:5446)* Because the suggestion of Clojure is such concise and abstract. I have spend hours on this problem. Any one has encountered this problem? Please help me kindly. Thanks. Best Regards ---------- Forwarded message ---------- From: Chuanlei Ni <[email protected]> Date: 2015-06-06 0:50 GMT+08:00 Subject: Begging for help about adding some fields in the defaults.yaml To: [email protected] Hi, I want to implement a feature in auto-tuning the max-spout-pending parameter. (Yes, you already have known that this is the idea inspired by Twitter's 2014 Sigmod paper) Now I want to put some configuration in the defaults.yaml to control whether using the auto-tuning functionality and the tuning interval. So I did that in defaults.yaml And the corresponding code in the Config.java is as follows: As I run the *mvn compile* Maven gives me such errors Because the suggestion of Clojure is such concise and abstract. I have spend hours on this problem. Any one has encountered this problem? Please help me kindly. Thanks. Best Regards
