[ 
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)

Reply via email to