Hi, I have tried to implement a pluggable scheduler as mentioned here http://xumingming.sinaapp.com/885/twitter-storm-how-to-develop-a-pluggable-scheduler/
But, I get a java.lang.ClassNotFoundException error when I try to run. I understand that the problem is that it is unable to find the DemoScheduler class definition in storm-core-0.9.3.jar, I tried downloading the source for storm from https://github.com/apache/storm and tried adding my DemoScheduler to src/jvm and do a mvn compile (or mvn assembly:assembly). But it fails while doing a backtype.storm.serialization. GzipBridgeSerializationDelegateTest and exits after maximum retries. Can someone please suggest on what can be done? Error 1: 2014-12-07T19:22:44.300-0600 b.s.d.nimbus [INFO] Using custom scheduler: storm.starter.scheduler.DemoScheduler 2014-12-07T19:22:44.307-0600 b.s.d.nimbus [ERROR] Error on initialization of server service-handler java.lang.ClassNotFoundException: storm.starter.scheduler.DemoScheduler at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.6.0_33] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.6.0_33] at java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.6.0_33] at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.6.0_33] at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[na:1.6.0_33] at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.6.0_33] at java.lang.Class.forName0(Native Method) ~[na:1.6.0_33] at java.lang.Class.forName(Unknown Source) ~[na:1.6.0_33] at backtype.storm.util$new_instance.invoke(util.clj:946) ~[storm-core-0.9.3.jar:0.9.3] at backtype.storm.daemon.nimbus$mk_scheduler.invoke(nimbus.clj:53) ~[storm-core-0.9.3.jar:0.9.3] at backtype.storm.daemon.nimbus$nimbus_data.invoke(nimbus.clj:78) ~[storm-core-0.9.3.jar:0.9.3] at backtype.storm.daemon.nimbus$fn__5043$exec_fn__1108__auto____5044.invoke(nimbus.clj:898) ~[storm-core-0.9.3.jar:0.9.3] at clojure.lang.AFn.applyToHelper(AFn.java:163) [clojure-1.5.1.jar:na] at clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.5.1.jar:na] at clojure.core$apply.invoke(core.clj:617) ~[clojure-1.5.1.jar:na] at backtype.storm.daemon.nimbus$fn__5043$service_handler__5133.doInvoke(nimbus.clj:895) [storm-core-0.9.3.jar:0.9.3] at clojure.lang.RestFn.invoke(RestFn.java:421) [clojure-1.5.1.jar:na] at backtype.storm.daemon.nimbus$launch_server_BANG_.invoke(nimbus.clj:1152) [storm-core-0.9.3.jar:0.9.3] at backtype.storm.daemon.nimbus$_launch.invoke(nimbus.clj:1184) [storm-core-0.9.3.jar:0.9.3] at backtype.storm.daemon.nimbus$_main.invoke(nimbus.clj:1206) [storm-core-0.9.3.jar:0.9.3] at clojure.lang.AFn.applyToHelper(AFn.java:159) [clojure-1.5.1.jar:na] at clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.5.1.jar:na] at backtype.storm.daemon.nimbus.main(Unknown Source) [storm-core-0.9.3.jar:0.9.3] Error 2: ----------------------------- ------------------------- T E S T S ------------------------------------------------------- Running backtype.storm.serialization.GzipBridgeSerializationDelegateTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.101 sec Running backtype.storm.utils.StormBoundedExponentialBackoffRetryTest 521 [main] WARN org.apache.curator.retry.ExponentialBackoffRetry - maxRetries too large (900). Pinning to 29 Thanks in advance !
