Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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

...

 

Image Added

Test Scenarios 

ScenarioExpected ResultActual Result
Start a Purchase History Workflow and let it complete
  1. The Run record for workflow should go from

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
  1. The Run record for workflow should go from

STARTING -> RUNNING -> KILLED

2.Run Record for Mapreduce

STARTING -> RUNNING -> KILLED

 
Start Purchase History Workflow and Kill the workflow before the mapreduce is started
  1. The Run record for workflow should go from

STARTING -> RUNNING -> KILLED

2. No runrecord mapreduce

 
Write a workflow with a custom action that throws an exception
  1. The Run record for workflow should go from

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

  1. YARN Application should be in ACCEPTED State & run record should be in Running 
  2. Run Record should go to KILLED