...
WIP distillation of thoughts on DCFT.
Hadoop MapReduce Walkthrough
MRAppMaster.java
1354: main starts here
1385: MRAppMaster constructed as appMaster
1409: initAndStartAppMaster called on appMaster
1450: initAndStartAppMaster starts here
1479: appMaster init and start, MRAppMaster is CompositeService is AbstractService, init calls serviceInit and start calls serviceStart
252: serviceInit start creates a whole bunch of event handlers that I don't what understand yet. There are also a bunch of "Dispatchers" who's only job is to call the handle method on the correct handler object.
1019: serviceStart starts calls createJob and startJobs
632: createJob constructs a JobImpl
1251: startJobs gets the ball rolling by generating the first startJobEvent and calls the handler.
JobImpl.java
967: handle method calls doTransition on the stateMachine
299: SetupCompletedTransition()
1560: scheduleTasks
TaskImpl.java
StateMachineFactory.java
This describes how the state machine works internally. What is important to know is that the addTransition method takes the preState, postState, eventType, and transition. The transition is an object whose transition method will be called during the doTransition method (called by the event handler).