It seems to be a bug in storm unless someone confirms otherwise.

How can I file a bug for storm ?
 On 25 Oct 2014 07:51, "Devang Shah" <[email protected]> wrote:

> You are correct Taylor. Sorry missed to mention all the details.
>
> We have topology.spout.max.pending set to 1000 and we have not modified
> the topology.message.timeouts.secs (default 30 secs).
>
> Another observation,
> When I delibrately bring down the worker (kill -9) and when the worker is
> brought up on the same port it was running previously on then the storm
> starts failing all the messages despite it being successfully processed. If
> the worker is brought up on different supervisor port then the issue
> doesn't seem to occur.
>
> Eg steps,
> 1. Worker running on 6703 supervisor slot(this worker runs a single spout
> instance of our topology) and everything runs fine. Messages get procesed
> and acks back to the message provider. If I let it run in this state it can
> process any number of messages.
> 2. I bring down the java process by kill -9
> 3. Supervisor brings up the worker on the same slot 6703 and also the
> spout task instance on it.
> 4. All the messages get processed fine but the ackers fail all the
> messages the topology processed after the default 30 secs timeout. This
> even happens when topology is idle and I push a single message into the
> topology. So my guess is increasing the timeout will not help (though I
> have not tried it).
> 5.If the supervisor brings up the worker on a different slot say 6700 then
> the issue doen't seem to occur. Probably a bug in storm.
>
> Steps to simulate the behaviour,
> 1. Run topology(spout as single instance and multiple instances of bolts)
> with multiple workers.
> 2. Identify the slot on which the single spout instance is running and
> kill it.
> 3. See if the supervisor started the worker on the same port. If not then
> repeat step 2 untill you get supervisor on the same slot as previous one.
> 4. Pump in a message into the topology.
> 5. You will see message being processed successfully and also the ackers
> failing the message. This can be verified by logging statements in the ack
> and fail methods of the spout.
>
> Thanks and Regards,
> Devang
> On 25 Oct 2014 04:34, "P. Taylor Goetz" <[email protected]> wrote:
>
>> My guess is that you are getting timeouts.
>>
>> Do you have topology.spout.max.pending set? If so, what is the value.
>> Have you overridden topology.message.timeout.secs (default is 30 seconds)?
>>
>> Look in Storm UI for the complete latency of the topology. Is it close to
>> or greater than topology.message.timeout.secs?
>>
>>
>> -Taylor
>>
>>
>> On Oct 23, 2014, at 12:44 PM, Devang Shah <[email protected]> wrote:
>>
>> Hi Team,
>>
>> I am facing an issue with one of our failover tests. Storm fails all the
>> messages post worker restarts.
>>
>> Steps done,
>> 0. 1 spout, 3 bolts, 5 ackers
>> 1. Pre-load tibems with 50k messages
>> 2. Start the topology
>> 3. Let it run for brief time and the kill the worker where the spout is
>> executing (spout in our topology is a single instance)
>> 4. The worker is brought up by the supervisor automatically
>>
>> Observation/query,
>> When spout starts pumping in data again into the topology, storm starts
>> failing the messages even though they are successfully processed (I have
>> verified this as our last bolt pushes data to kafka and the incoming/kafka
>> data njmber matches). I have checked the tuple anchoring and that seems to
>> be fine as without the worker restarts the topology acks and processes
>> messages fine.
>>
>> Any thing I should check again ?
>>
>>
>>

Reply via email to