Project

General

Profile

Bug #20002

Updated by Ivan Necas almost 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)

Back