Skip to content

schema layout

Michael Kamm edited this page May 16, 2017 · 1 revision

Database scheme of a cluster is quite simple.

For every uploaded .jar file a table is created in the database.

Every created table has following elements:

id method params task_status end_state task_result started_at finished_at time_spent
int string string string string string timestamp timestamp int

id

  • primary key; no other purpose

method

  • name of the task e.g. 'package name + class name + method name'
  • has to be unique

params

  • csv formatted string with following format: 'param1=1; param2=2; ...'

task_status

  • NOT_STARTED - initial state; task is added to the database from the .jar file
  • RUNNING - task is currently executed
  • DONE - task executed

end_state

  • null - initial state; task is added to the database from the .jar file
  • SUCCESS - task successfully executed
  • FAILURE - task execution failed due to an assertion error
  • ABANDONED - task was not executed due to depedency failure^1
  • ERROR - task execution failed due to unexpected behaviour

task_result

  • none if successful or
  • exception message if failed

started_at

  • task execution started at (YYYY-MM-DD HH:mm:ss)

finished_at

  • task execution finished at (YYYY-MM-DD HH:mm:ss)

time_spent

  • duration of task execution
  • finished_at - started_at in sec

^1 If any grouped task fails during the execution then the task which depends on successful execution of this grouped task won't be executed and its end state will be set to ABANDONED.

Clone this wiki locally