I cannot completely follow you use case and what you want to accomplish... However, even as there is no official API to call the hash function, it is actually pretty simple. Storm internally creates a List of the fieldsGrouping attributes and call .hashCode() on it (and of course applies a modulo afterwards).
I actually wrote a wrapper to call the internal hash function once (it works for 0.9.3 -- not sure if it is compatible with newer versions). You can find the code here: https://github.com/mjsax/aeolus/tree/master/aeolus-storm-connector The project assembles a Java class with a static method to expose a simple to use Java API that call internal Storm core stuff to get the receiver task ID. > StormConnector.getFieldsGroupingReceiverTaskId( TopologyContext ctx, String producer-component-id, String output-stream-id, String receiver-component-id, List<Object> tuple); -Matthias On 06/08/2016 07:02 PM, Jason Kania wrote: > Hello, > > I am wondering if there is a means to access the hashing method/function > that storm applies for the fieldsGrouping method. I would like to > generate a token that will hash back to the current node so that > subsequent processing can come back to the same node . I realize that > generating an applicable token would be trial and an error, but I would > like to take advantage of shufflegrouping to assign tasks but then use > fieldsGrouping to ensure that the rest of the work for the task comes > back to the same node. > > Thanks, > > Jason
signature.asc
Description: OpenPGP digital signature
