...
- State change message will be sent after action is performed successfully (so that the
action timestamp < message timestamp
) - No out of order messages (based on message timestamp)
- STARTING is safe state change -> no multiple messages, no missed messages, no out of order messages
...
- Make scheduler listen to the changes published by the program state change writer
State Transition Diagram
...
Test Scenarios
Scenario | Expected Result | Actual Result |
---|---|---|
Start a Purchase History Workflow and let it complete |
STARTING -> RUNNING -> COMPLETED 2. Run Record for Mapreduce STARTING -> RUNNING -> COMPLETED | |
Start Purchase History Workflow and kill the mapreduce job when it is running in YARN |
STARTING -> RUNNING -> KILLED 2.Run Record for Mapreduce STARTING -> RUNNING -> KILLED | |
Start Purchase History Workflow and Kill the workflow before the mapreduce is started |
STARTING -> RUNNING -> KILLED 2. No runrecord mapreduce | |
Write a workflow with a custom action that throws an exception |
STARTING -> RUNNING -> KILLED 2. No run record for Custom action | |
a. Write a workflow that requests for more resources than available resources b. Kill the YARN application |
|