Hi,

We are using Storm in our production environment and we recently noticed
that most of the CPU time is being used by Spout threads. I have few
questions regarding this:

1 - Can spout threads taking most of the cpu time cause delay in heartbeats
sent to nimbus, we noticed our workers getting relaunched by nimbus
frequently.

2 - To make spouts unblocking, we spawn a hystrix thread from our spouts
which take care of fetching the messages and then emitting the tuple using
spout's collector object. Thus our spouts do not do anything other than
creating new hystrix thread. To reduce spout's cpu usage we want to
increase 'topology.sleep.spout.wait.strategy.time.ms' . My understanding is
that this is the duration spout executor will sleep for if we do not emit
anything in nextTuple call, but, in the design which we are using, will all
the nextTuple calls to spout be considered as "nextTuple did not emit
anything" and every further nextTuple call will be delayed by above
property's value?

Thanks,
Jayant Sharma

Reply via email to