Hi, I can't find information how fields grouping works in case of worker fail.
With fields grouping tuples are partitioned by some key and are sent to different tasks. Tuples with the same key goes to the same task. When a worker dies, the supervisor will restart it. If it continuously fails on startup and is unable to heartbeat to Nimbus, Nimbus will reassign the worker to another machine. Does it mean that while supervisor restarts node or Nimbus reassigns worker, tuples that were processed by tasks on failed worker will be routed to other tasks? If yes, is it possible that while worker is restarted tuples by fields grouping are directed to some other task, after worker is successfully restarted or reassigned, tuples will be routed to taks on just restarted worker? In this case there is a chance that tuple with key "1", for example, will be processed by task 1, while worker for task 2 is restarted. After successful restart of worker new tuple emitted by spout with the same key "1" will be routed to task 2 on just restarted worker, while tuple with key "1" processing on task 1 is still in progress. Does Storm provide guarantee that described situation will never happen and when using fields grouping all tuples with the same key will be processed by the same task even in the case of worker failure? Best regards, Evgeniy