It is very confusing and i don't completely understand it all myself, but for 
the most part what happens, as far as I understand it, is that the master batch 
coordinator sends out begin batch messages to all of the spout coordinators and 
all the state instances saying batch X is about to begin.  When it gets an ack 
back (saying everyone saw it and are ready for it) it will then send out a 
message saying emit batch X,  (all tuples within that batch are tied to this 
emit as the are processed).  If that comes back as success then it will send 
out a final message to commit batch X. (but only if batch X-1 has already been 
committed).  If any of these fail it will ask the spouts to replay the batch.
- Bobby

On Wednesday, November 2, 2016, 5:38:29 PM CDT, Li Wang <[email protected]> 
wrote:Hi guys,

I am trying to understand the implementation of Trident. Through reading the 
code in TridentTopolgyBuilder.java, I understand that some Coordinator 
components, such as MasterBatchCoordinator and TridentSpoutCoordinator, are 
added to a user defined topology in TridentTopologyBuilder.createTopology(). I 
try to understand the control flow of those coordinators, but is seems to be 
very difficult to get the sense just from source code. Is there any document 
giving a high level of the control flow of the coordinator components in a 
Trident Topology?

Any help is highly appreciated. Thanks!

Sincerely,
Li Wang

Reply via email to