Bug 1283549 - Dynflow tasks killed due to timeout should kill pulp task behind them
Dynflow tasks killed due to timeout should kill pulp task behind them
Status: NEW
Product: Red Hat Satellite 6
Classification: Red Hat
Component: Tasks Plugin (Show other bugs)
6.1.3
x86_64 Linux
medium Severity medium (vote)
: Unspecified
: --
Assigned To: satellite6-bugs
: Triaged
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-11-19 04:28 EST by Pavel Moravec
Modified: 2016-11-19 01:50 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Pavel Moravec 2015-11-19 04:28:03 EST
Description of problem:
Assume capsule sync (just one example, the problem is little more general) timeouts after (default) 12 hours. Relevant dynflow task is stopped with an error, particular sub-task in dynflow is skipped. BUT external task (here pulp task) is not cancelled.

Also the pulp task (and at the end gofer task to remove the json file in /var/lib/gofer/messaging/pending/katelloplugin dir) needs to be cancelled. Otherwise:

1) End-user gets wrong information the task is finished (with whatever output)
2) An attempt to run the same task again might cause concurrent pulp tasks running twice - something that I expect can cause errors


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


How reproducible:
100%


Steps to Reproduce:
(one particular reproducer for capsule sync is provided - other equivalent for e.g. package install can be found easily)
1. Decrease sync timeout from 12 hours to say 1 minute (Administer -> Settings -> Katello -> pulp_sync_node_action_finish_timeout)
2. Start capsule sync that would take longer than the timeout
3. Wait until the task timeouts
4. Check pulp tasks and /var/lib/gofer/messaging/pending/katelloplugin directory.


Actual results:
pulp task will be stll running.
/var/lib/gofer/messaging/pending/katelloplugin dir would have the json file with the request to capsule sync


Expected results:
pulp task cancelled
/var/lib/gofer/messaging/pending/katelloplugin cleaned out


Additional info:

Note You need to log in before you can comment on or make changes to this bug.