Join is not triggered if the last finished inbound task is in ERROR and it's not a direct predecessor

Bug #1803677 reported by Renat Akhmerov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mistral
Fix Released
Undecided
Unassigned

Bug Description

This example doesn't work:

version: '2.0'

wf:
  tasks:
    task1:
      action: std.noop
      on-success:
        - join_task

    task2:
      action: std.fail
      wait-before: 2
      on-success:
        - task3

    task3:
      action: std.noop
      on-success:
        - join_task

    join_task:
      join: all

"join_task" ends up being in WAITING state forever.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to mistral (stable/rocky)

Fix proposed to branch: stable/rocky
Review: https://review.openstack.org/618489

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to mistral (master)

Reviewed: https://review.openstack.org/618483
Committed: https://git.openstack.org/cgit/openstack/mistral/commit/?id=c9e08a883946540bf245dd372406642e3aa50808
Submitter: Zuul
Branch: master

commit c9e08a883946540bf245dd372406642e3aa50808
Author: Renat Akhmerov <email address hidden>
Date: Fri Nov 16 15:15:45 2018 +0700

    Fix "join" when the last indirect inbound task failed

    * See bug description for the example that didn't work. It was
      caused by a simple mistake in a python expression of type
      "my_set = my_set or set()" that didn't work as expected, i.e.
      it created a new set even if my_set is already an empty set.
      So, the proper expression that's needed is
      "my_set = set() if my_set is None else my_set"

    Change-Id: I2a787921449fecf3301013a770ffe712e9606baf
    Closes-Bug: #1803677

Changed in mistral:
status: New → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to mistral (stable/rocky)

Reviewed: https://review.openstack.org/618489
Committed: https://git.openstack.org/cgit/openstack/mistral/commit/?id=30822d577cb57f5acdfc9cfe94243d070d6038ad
Submitter: Zuul
Branch: stable/rocky

commit 30822d577cb57f5acdfc9cfe94243d070d6038ad
Author: Renat Akhmerov <email address hidden>
Date: Fri Nov 16 15:15:45 2018 +0700

    Fix "join" when the last indirect inbound task failed

    * See bug description for the example that didn't work. It was
      caused by a simple mistake in a python expression of type
      "my_set = my_set or set()" that didn't work as expected, i.e.
      it created a new set even if my_set is already an empty set.
      So, the proper expression that's needed is
      "my_set = set() if my_set is None else my_set"

    Change-Id: I2a787921449fecf3301013a770ffe712e9606baf
    Closes-Bug: #1803677

tags: added: in-stable-rocky
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/mistral 8.0.0.0b1

This issue was fixed in the openstack/mistral 8.0.0.0b1 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/mistral 7.1.0

This issue was fixed in the openstack/mistral 7.1.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.