Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Duplicate
-
1.1.0, 1.1.1, 1.2.0, 1.1.2
-
None
-
None
Description
Quoting Alexandre's RC3 vote:
I hate to be the one who always give bad news, but as a matter of
facts, Storm 1.2.0 RC3 installation from binary artifacts (both
apache-storm-1.2.0-src.tar.gz and apache-storm-1.2.0.zip) leads to "by
default KO Kafka monitor" in Nimbus UI (which dirty exceptions in
ui.log)Here's for example what I get from apache-storm-1.2.0-src.tar.gz
downloaded from
https://dist.apache.org/repos/dist/dev/storm/apache-storm-1.2.0-rc3/apache-storm-1.2.0-src.tar.gz:$ tar ztvf apache-storm-1.2.0.tar.gz apache-storm-1.2.0/toollib
-rwxrwxrwx ptgoetz/staff 16999 2018-02-06 21:22
apache-storm-1.2.0/toollib/storm-kafka-monitor-1.2.0-sources.jar
-rwxrwxrwx ptgoetz/staff 93461 2018-02-06 21:22
apache-storm-1.2.0/toollib/storm-kafka-monitor-1.2.0-javadoc.jar
-rwxrwxrwx ptgoetz/staff 21591320 2018-02-06 21:22
apache-storm-1.2.0/toollib/storm-kafka-monitor-1.2.0.jarAnd here's what I see in ui.log:
org.apache.storm.kafka.spout.KafkaSpout
2018-02-07 16:49:57.153 o.a.s.u.TopologySpoutLag qtp1997623038-18
[WARN] Exception message:Error: Could not find or load main class
.usr.local.Storm.storm-stable.toollib.storm-kafka-monitor-1.2.0-javadoc.jarorg.apache.storm.utils.ShellUtils$ExitCodeException: Error: Could not
find or load main class
.usr.local.Storm.storm-stable.toollib.storm-kafka-monitor-1.2.0-javadoc.jarat org.apache.storm.utils.ShellUtils.runCommand(ShellUtils.java:231)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.utils.ShellUtils.run(ShellUtils.java:161)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.utils.ShellUtils$ShellCommandExecutor.execute(ShellUtils.java:371)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.utils.ShellUtils.execCommand(ShellUtils.java:461)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.utils.ShellUtils.execCommand(ShellUtils.java:444)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.utils.TopologySpoutLag.getLagResultForKafka(TopologySpoutLag.java:163)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.utils.TopologySpoutLag.getLagResultForNewKafkaSpout(TopologySpoutLag.java:189)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.utils.TopologySpoutLag.lag(TopologySpoutLag.java:57)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.ui.core$topology_lag.invoke(core.clj:805)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.ui.core$fn__9586.invoke(core.clj:1165)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.shade.compojure.core$make_route$fn__5979.invoke(core.clj:100)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.shade.compojure.core$if_route$fn__5967.invoke(core.clj:46)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.shade.compojure.core$if_method$fn__5960.invoke(core.clj:31)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.shade.compojure.core$routing$fn__5985.invoke(core.clj:113)
~[storm-core-1.2.0.jar:1.2.0]
at clojure.core$some.invoke(core.clj:2570) ~[clojure-1.7.0.jar:?]
at org.apache.storm.shade.compojure.core$routing.doInvoke(core.clj:113)
~[storm-core-1.2.0.jar:1.2.0]
at clojure.lang.RestFn.applyTo(RestFn.java:139) ~[clojure-1.7.0.jar:?]
at clojure.core$apply.invoke(core.clj:632) ~[clojure-1.7.0.jar:?]
at org.apache.storm.shade.compojure.core$routes$fn__5989.invoke(core.clj:118)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.shade.ring.middleware.cors$wrap_cors$fn__8894.invoke(cors.clj:149)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.shade.ring.middleware.json$wrap_json_params$fn__8841.invoke(json.clj:56)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.shade.ring.middleware.multipart_params$wrap_multipart_params$fn__6621.invoke(multipart_params.clj:118)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.shade.ring.middleware.reload$wrap_reload$fn__7904.invoke(reload.clj:22)
~[storm-core-1.2.0.jar:1.2.0]
at org.apache.storm.ui.helpers$requests_middleware$fn__6874.invoke(helpers.clj:52)
~[storm-core-1.2.0.jar:1.2.0]Deleting the extraneous storm-kafka-monitor-1.2.0-sources.jar and
storm-kafka-monitor-1.2.0-javadoc.jar file, then restarting Nimbus
solves the issue.However, binaries artifacts should be as clean as possible, isn't it ?