Hi,

if you want to disable fault-tolerance, you need to emit tuples in your
spout without message IDs

-> collector.emit(new Values(...)); // no messageId provided

The parameter "topology.acker.executors" sets the number of ackers you
want to use in your topology. I am not sure, if setting it to zero
really disables fault-tolerance. (I would assume that fault-tolerance is
still enabled and you get many failing tuples---due to timeout---because
there are no ackers that can process the incoming ack messages.

In any case, if your Bolts call "collector.ack(...)" this will be
monitored in the UI. However, it does not necessarily mean that
fault-tolerance is enabled or disabled. If you don't want to see an ack
count in the UI, you need to remove the line of code in your
Bolt.execute() methods that do the actual "collector.ack(...)" call.

If you see a value for "acked" and "Complete latency" in your spouts,
fault-tolerance is enabled. If both values stay zero (as well as
"Failed") fault-tolerance if disabled.

-Matthias


On 12/23/2015 03:31 PM, John Yost wrote:
> Hi Everyone,
> 
> I have a topology that consists of a KafkaSpout and three downstream bolts.
> 
> I turned off acking by setting topology.acker.executors to 0. It's my
> understanding that I should only have acking in the KafkaSpout. However,
> I see acking in all of my downstream bolts as well. Any ideas as to why? 
> 
> Thanks
> 
> --John

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to