Bug #24058
closedPulp repository sync step not skipped automatically when fail with "Abnormal termination".
Description
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1501683
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!'"
Updated by Adam Ruzicka almost 6 years ago
- Category set to Dynflow
- Status changed from New to Closed
- Assignee set to Adam Ruzicka
- Pull request https://github.com/Dynflow/dynflow/pull/290 added