Bug 1654975

Summary: Dynflow executor termination may hang if there is an action which keeps the executor occupied
Product: Red Hat Satellite Reporter: Adam Ruzicka <aruzicka>
Component: Tasks PluginAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Jan Hutaƙ <jhutar>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.3.0CC: aruzicka, ehelms, inecas, ktordeur, pcreech, sthirugn
Target Milestone: 6.5.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: tfm-rubygem-dynflow-1.1.6 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1665470 (view as bug list) Environment:
Last Closed: 2019-05-14 12:39:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1665470    

Description Adam Ruzicka 2018-11-30 09:00:43 UTC
Description of problem:
If there is an action which is running on an executor for a long time and it does not suspend itself and the memory watcher decides to recycle the executor, the termination may hang indefinitely.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Pick any action, add infinite sleep to the beginning of its run method
2. Trigger the action
3. Wait for the memory watcher to try restarting the executor 

Actual results:
The termination hangs, the dynflow executor process stays there, not releasing its resources.

Expected results:
The dynflow executor process gets terminated

Additional info:

Comment 3 Adam Ruzicka 2018-11-30 09:02:22 UTC
This supplements BZ1628638 which introduced termination timeouts.

Comment 4 Ivan Necas 2018-11-30 10:08:16 UTC
Created redmine issue https://projects.theforeman.org/issues/25593 from this bug

Comment 12 errata-xmlrpc 2019-05-14 12:39:19 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.