Tasks in graph_flow could be ignored

Bug #1480907 reported by Timofey Durakov
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
taskflow
Won't Fix
High
Timofey Durakov

Bug Description

If task in graph flow have 2 or more predecessors even if one of them is marked as ignored, task would be ignored too.
Here is example code snippet:
def allow(history):
    print(history)
    return False

# Declare our work to be done...
r = gf.Flow("root")
r_a = DummyTask('r-a')
r_b = DummyTask('r-b')
r_c = DummyTask('r-c')
r_d = DummyTask('r-d', parents_required=task.Required.ANY)
r.add(r_a, r_b, r_c, r_d)
r.link(r_a, r_b)
r.link(r_a, r_c, decider=allow)
r.link(r_b, r_d)
r.link(r_c, r_d)

# Setup and run the engine layer.
e = engines.load(r)
e.compile()
e.prepare()
e.run()

`r_d` task wouldn't be executed

To fix that is possible to add new attribute to BaseTask class, which should describe dependency between predecessors and current task execution. Possible values could be `ANY`, and `ALL`.

Changed in taskflow:
status: New → Confirmed
assignee: nobody → Timofey Durakov (tdurakov)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to taskflow (master)

Fix proposed to branch: master
Review: https://review.openstack.org/208468

Changed in taskflow:
status: Confirmed → In Progress
Joshua Harlow (harlowja)
Changed in taskflow:
importance: Undecided → High
Joshua Harlow (harlowja)
Changed in taskflow:
status: In Progress → Won't Fix
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on taskflow (master)

Change abandoned by Ben Nemec (<email address hidden>) on branch: master
Review: https://review.openstack.org/208468
Reason: This has been in merge conflict for 2.5 years. Please feel free to restore if you still want to do it though.

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.