We have a Trident topology with about 30 bolts

When we monitor the process with visualVM and java monitor in eclipse, we see that only one thread work for a specific bolt and all other threads do nothing

all our connections between bolts includes a partitionBy(id), indeed, there is no duplicates in the batch we just hoped that all tuples would be splitted evenly across all threads (similar to a .shuffle() I suppose) but it does not seem to be the case. 

any idea?