Bug 1501683

Summary: Pulp repository sync step not skipped automatically when fail with "Abnormal termination".
Product: Red Hat Satellite Reporter: Hao Chang Yu <hyu>
Component: Tasks PluginAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Jan Hutař <jhutar>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.2.12CC: aruzicka, bbuckingham, hyu, inecas, jhutar, pcreech, rchauhan, rraghuwa, sajha, vdeshpan
Target Milestone: 6.5.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-14 12:36:38 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:
Embargoed:

Description Hao Chang Yu 2017-10-13 03:53:43 UTC
Description of problem:

When a repository sync task failed with "StandardError Abnormal termination (previous state: running)". it didn't skip rescue automatically which caused the entire task in paused/error state, then trigger the same repository sync again (such as sync plan) will fail with "lock conflict" error.

I think it is because the rescue strategic is not trigger when invalidating the world and its execution locks.


3: Actions::Pulp::Repository::Sync (error) [ 10033.10s / 2167.47s ] Skip


StandardError

Abnormal termination (previous state: running)

---
- "/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matchers/abstract.rb:74:in
  `block in assigns'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matchers/abstract.rb:73:in
  `tap'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matchers/abstract.rb:73:in
  `assigns'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:56:in
  `match_value'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:36:in
  `block in match?'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:35:in
  `each'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:35:in
  `match?'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:23:in
  `match'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/execution_plan/steps/error.rb:12:in
  `new'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:304:in
  `block in invalidate_execution_lock'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:302:in
  `each'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:302:in
  `invalidate_execution_lock'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:274:in
  `block (2 levels) in invalidate'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:273:in
  `each'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:273:in
  `block in invalidate'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/coordinator.rb:253:in
  `call'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/coordinator.rb:253:in
  `acquire'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:266:in
  `invalidate'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:340:in
  `block in worlds_validity_check'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:334:in
  `each'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:334:in
  `worlds_validity_check'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-0.8.13.6/lib/dynflow/world.rb:40:in
  `initialize'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.7.14.14/lib/foreman_tasks/dynflow/configuration.rb:62:in
  `new'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.7.14.14/lib/foreman_tasks/dynflow/configuration.rb:62:in
  `initialize_world'"
- "/opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.7.14.14/lib/foreman_tasks/dynflow.rb:40:in
  `initialize!'"

Comment 5 Jan Hutař 2018-06-14 12:50:47 UTC
*** Bug 1584628 has been marked as a duplicate of this bug. ***

Comment 7 Adam Ruzicka 2018-06-25 08:54:55 UTC
Created redmine issue http://projects.theforeman.org/issues/24058 from this bug

Comment 13 errata-xmlrpc 2019-05-14 12:36:38 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.

https://access.redhat.com/errata/RHSA-2019:1222