You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by clay teahouse <cl...@gmail.com> on 2014/10/09 13:09:23 UTC

TOPOLOGY_ACKER_EXECUTORS

Hello,
I am trying to turn off acking by settingTOPOLOGY_ACKER_EXECUTORS to 0. But
when I do that my trident topology fails with the following error and
subsequently the worker dies.

java.lang.RuntimeException: backtype.storm.topology.FailedException:
Received commit for different transaction attempt
        at
backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:127)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at
backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:96)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at
backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:81)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at
backtype.storm.daemon.executor$fn__3454$fn__3466$fn__3513.invoke(executor.clj:747)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at backtype.storm.util$async_loop$fn__458.invoke(util.clj:457)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at clojure.lang.AFn.run(AFn.java:24) [clojure-1.5.1.jar:na]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
Caused by: backtype.storm.topology.FailedException: Received commit for
different transaction attempt
        at
storm.trident.spout.TridentSpoutExecutor.execute(TridentSpoutExecutor.java:73)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at
storm.trident.topology.TridentBoltExecutor.execute(TridentBoltExecutor.java:314)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at
backtype.storm.daemon.executor$fn__3454$tuple_action_fn__3456.invoke(executor.clj:632)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at
backtype.storm.daemon.executor$mk_task_receiver$fn__3377.invoke(executor.clj:400)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at
backtype.storm.disruptor$clojure_handler$reify__833.onEvent(disruptor.clj:59)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
        at
backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:119)
~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]

Any idea what could be wrong?

thanks
Clay

Re: TOPOLOGY_ACKER_EXECUTORS

Posted by clay teahouse <cl...@gmail.com>.
So, I assume that acking is performed per batch of tuples. If that is the
case how does the performance of trident compare with the performance of
bolt with acking disabled? thanks.

On Thu, Oct 9, 2014 at 1:10 PM, Nathan Marz <na...@nathanmarz.com> wrote:

> Trident will not run properly without acking enabled, as its used to
> coordinate batches.
>
> On Thu, Oct 9, 2014 at 4:09 AM, clay teahouse <cl...@gmail.com>
> wrote:
>
> > Hello,
> > I am trying to turn off acking by settingTOPOLOGY_ACKER_EXECUTORS to 0.
> But
> > when I do that my trident topology fails with the following error and
> > subsequently the worker dies.
> >
> > java.lang.RuntimeException: backtype.storm.topology.FailedException:
> > Received commit for different transaction attempt
> >         at
> >
> >
> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:127)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at
> >
> >
> backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:96)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at
> >
> >
> backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:81)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at
> >
> >
> backtype.storm.daemon.executor$fn__3454$fn__3466$fn__3513.invoke(executor.clj:747)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at backtype.storm.util$async_loop$fn__458.invoke(util.clj:457)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at clojure.lang.AFn.run(AFn.java:24) [clojure-1.5.1.jar:na]
> >         at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
> > Caused by: backtype.storm.topology.FailedException: Received commit for
> > different transaction attempt
> >         at
> >
> >
> storm.trident.spout.TridentSpoutExecutor.execute(TridentSpoutExecutor.java:73)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at
> >
> >
> storm.trident.topology.TridentBoltExecutor.execute(TridentBoltExecutor.java:314)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at
> >
> >
> backtype.storm.daemon.executor$fn__3454$tuple_action_fn__3456.invoke(executor.clj:632)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at
> >
> >
> backtype.storm.daemon.executor$mk_task_receiver$fn__3377.invoke(executor.clj:400)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at
> >
> >
> backtype.storm.disruptor$clojure_handler$reify__833.onEvent(disruptor.clj:59)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >         at
> >
> >
> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:119)
> > ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
> >
> > Any idea what could be wrong?
> >
> > thanks
> > Clay
> >
>
>
>
> --
> Twitter: @nathanmarz
> http://nathanmarz.com
>

Re: TOPOLOGY_ACKER_EXECUTORS

Posted by Nathan Marz <na...@nathanmarz.com>.
Trident will not run properly without acking enabled, as its used to
coordinate batches.

On Thu, Oct 9, 2014 at 4:09 AM, clay teahouse <cl...@gmail.com>
wrote:

> Hello,
> I am trying to turn off acking by settingTOPOLOGY_ACKER_EXECUTORS to 0. But
> when I do that my trident topology fails with the following error and
> subsequently the worker dies.
>
> java.lang.RuntimeException: backtype.storm.topology.FailedException:
> Received commit for different transaction attempt
>         at
>
> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:127)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at
>
> backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:96)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at
>
> backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:81)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at
>
> backtype.storm.daemon.executor$fn__3454$fn__3466$fn__3513.invoke(executor.clj:747)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at backtype.storm.util$async_loop$fn__458.invoke(util.clj:457)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at clojure.lang.AFn.run(AFn.java:24) [clojure-1.5.1.jar:na]
>         at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
> Caused by: backtype.storm.topology.FailedException: Received commit for
> different transaction attempt
>         at
>
> storm.trident.spout.TridentSpoutExecutor.execute(TridentSpoutExecutor.java:73)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at
>
> storm.trident.topology.TridentBoltExecutor.execute(TridentBoltExecutor.java:314)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at
>
> backtype.storm.daemon.executor$fn__3454$tuple_action_fn__3456.invoke(executor.clj:632)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at
>
> backtype.storm.daemon.executor$mk_task_receiver$fn__3377.invoke(executor.clj:400)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at
>
> backtype.storm.disruptor$clojure_handler$reify__833.onEvent(disruptor.clj:59)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>         at
>
> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:119)
> ~[storm-core-0.9.3-SNAPSHOT.jar:0.9.3-SNAPSHOT]
>
> Any idea what could be wrong?
>
> thanks
> Clay
>



-- 
Twitter: @nathanmarz
http://nathanmarz.com