Bug #20002
Updated by Ivan Necas over 7 years ago
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1390931 Description of problem: Under some circumstances (such as manually deleting data from dynflow_execution_steps), Version-Release number of selected component (if applicable): How reproducible: under special circumstances Steps to Reproduce: 1. trigger a task 2. force kill the dynflow executor process 3. while the task is runnint, delete data from dynflow manually (CAUTION: THIS IS BY NO MEANS A RECOMMENDED WAY OF DEALING WITH TASKS - FOR REPRODUCER PURPOSES ONLY): psql foreman delete from foreman_tasks_locks; delete from dynflow_steps; delete from dynflow_actions; exit note we are not deleting dynflow_execution_plans and foreman_tasks_tasks 4. restart the foreman-tasks service 5. go to /foreman_tasks/dynflow Actual results: internal server error in logs, there is invalid worlds found message, where at the terminated world uuid, there is invalid worlds found {"a97cd2c2-a86b-4309-aa0c-edd7ed1c6c9f"=>"Value (NilClass) '' is not any of: Dynflow::ExecutionPlan::Steps::Abstract." The killed world is not able to recover properly. Excpeted results: The issue is logged, but the rows with invalid tasks are shown, not internal server error appears world is invalidated properly and the old world doesn't stay in the worlds registry (/foreman_tasks/dynflow/worlds)