[
https://issues.apache.org/jira/browse/STORM-658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14318750#comment-14318750
]
ASF GitHub Bot commented on STORM-658:
--------------------------------------
Github user ptgoetz commented on the pull request:
https://github.com/apache/storm/pull/417#issuecomment-74128755
-1. This breaks trident functionality if `topology.acker.executors` is
`null` in `storm.yaml` and not overridden in the topology conf.
I've not dug too far into the root cause, but the situation above results
in `StackOverflowError`s in the MasterBatchCoordinator spout. See stack trace
below.
```
java.lang.StackOverflowError: null
at clojure.lang.Numbers.multiply(Numbers.java:3663)
~[clojure-1.6.0.jar:na]
at backtype.storm.stats$curr_time_bucket.invoke(stats.clj:29)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.stats$update_rolling_window.doInvoke(stats.clj:41)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at clojure.lang.RestFn.applyTo(RestFn.java:142)
~[clojure-1.6.0.jar:na]
at clojure.core$apply.invoke(core.clj:628) ~[clojure-1.6.0.jar:na]
at
backtype.storm.stats$update_rolling_window_set$iter__2980__2984$fn__2985$fn__2986.invoke(stats.clj:77)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.stats$update_rolling_window_set$iter__2980__2984$fn__2985.invoke(stats.clj:76)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at clojure.lang.LazySeq.sval(LazySeq.java:40)
~[clojure-1.6.0.jar:na]
at clojure.lang.LazySeq.seq(LazySeq.java:49) ~[clojure-1.6.0.jar:na]
at clojure.lang.RT.seq(RT.java:484) ~[clojure-1.6.0.jar:na]
at clojure.core$seq.invoke(core.clj:133) ~[clojure-1.6.0.jar:na]
at clojure.core$dorun.invoke(core.clj:2855) ~[clojure-1.6.0.jar:na]
at clojure.core$doall.invoke(core.clj:2871) ~[clojure-1.6.0.jar:na]
at
backtype.storm.stats$update_rolling_window_set.doInvoke(stats.clj:76)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at clojure.lang.RestFn.invoke(RestFn.java:439)
~[clojure-1.6.0.jar:na]
at clojure.lang.Atom.swap(Atom.java:65) ~[clojure-1.6.0.jar:na]
at clojure.core$swap_BANG_.invoke(core.clj:2234)
~[clojure-1.6.0.jar:na]
at backtype.storm.stats$emitted_tuple_BANG_.invoke(stats.clj:215)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.task$mk_tasks_fn$fn__4329.invoke(task.clj:160)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$fn__4615$fn__4630$send_spout_msg__4648.invoke(executor.clj:502)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$fn__4615$fn$reify__4657.emit(executor.clj:547)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.spout.SpoutOutputCollector.emit(SpoutOutputCollector.java:49)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
storm.trident.topology.MasterBatchCoordinator.sync(MasterBatchCoordinator.java:176)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
storm.trident.topology.MasterBatchCoordinator.ack(MasterBatchCoordinator.java:145)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$ack_spout_msg.invoke(executor.clj:399)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$fn__4615$fn__4630$send_spout_msg__4648.invoke(executor.clj:532)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$fn__4615$fn$reify__4657.emit(executor.clj:547)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.spout.SpoutOutputCollector.emit(SpoutOutputCollector.java:49)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
storm.trident.topology.MasterBatchCoordinator.sync(MasterBatchCoordinator.java:200)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
storm.trident.topology.MasterBatchCoordinator.ack(MasterBatchCoordinator.java:145)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$ack_spout_msg.invoke(executor.clj:399)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$fn__4615$fn__4630$send_spout_msg__4648.invoke(executor.clj:532)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$fn__4615$fn$reify__4657.emit(executor.clj:547)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.spout.SpoutOutputCollector.emit(SpoutOutputCollector.java:49)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
storm.trident.topology.MasterBatchCoordinator.sync(MasterBatchCoordinator.java:176)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
storm.trident.topology.MasterBatchCoordinator.ack(MasterBatchCoordinator.java:145)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$ack_spout_msg.invoke(executor.clj:399)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
at
backtype.storm.daemon.executor$fn__4615$fn__4630$send_spout_msg__4648.invoke(executor.clj:532)
~[storm-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
```
> config topology.acker.executors default value is null and then should not
> start acker bolts
> -------------------------------------------------------------------------------------------
>
> Key: STORM-658
> URL: https://issues.apache.org/jira/browse/STORM-658
> Project: Apache Storm
> Issue Type: Bug
> Reporter: caofangkun
> Assignee: caofangkun
> Priority: Minor
> Attachments: executors num is wrong.png, is null.png
>
>
> See Code:
> https://github.com/caofangkun/apache-storm/blob/master/storm-core/src/clj/backtype/storm/daemon/common.clj#L315
> Config "topology.acker.executors" default value is null
> then acker executors will be same as "topology.workers"
> $ storm jar storm-starter-0.10.0-SNAPSHOT.jar
> storm.starter.ExclamationTopology ExclamationTopology
> Executors show up as 18 executors = 10(word) + 3(exclaim1) + 2(exclaim2) +
> 3(acker bolt)
> But the 3 acker bolt executors will not be used.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)