Hi Mohit,

Your understanding about ShuffleGrouping is correct. 

For LocalOrShuffleGrouping,  the upstream spout/bolt will only send tuples to 
the downstream bolt on the same worker (not machine) if it can. Otherwise, it 
will be just  like ShuffleGrouping. 

Code: 
https://github.com/apache/storm/blob/master/storm-client/src/jvm/org/apache/storm/daemon/GrouperFactory.java#L86-L88
 
<https://github.com/apache/storm/blob/master/storm-client/src/jvm/org/apache/storm/daemon/GrouperFactory.java#L86-L88>


Thanks
Ethan


> On May 14, 2019, at 11:40 AM, Mohit Goyal <[email protected]> wrote:
> 
> Hi,
> 
> Can someone here tell me the difference between shuffleGrouping and 
> localOrShuffleGrouping?
> My use case is: I have supervisor running in 3 different instances and 
> workers/tasks distributed among them.
> My understanding for grouping is: if I use shufflegrouping it will send tuple 
> to any task of bolt be in same machine or different. But if I use 
> localOrShuffleGrouping, it will try to send tuple to such task of next bolt 
> which lies in same machine, and if its overloaded, then it'll send it to task 
> residing in other machine.
> Please let me know the difference. Thanks in advance.
> 
> Regards,
> Mohit Goyal

Reply via email to