Skip to content

[Bug] [Master] A bug on task retry mechanism #6613

@yangqiyu0306

Description

@yangqiyu0306

Search before asking

  • I had searched in the issues and found no similar issues.

What happened

There are process nodes at the same level in the process, a failed error retry "node1_fail_retry" node (the actual task scenario may fail for the first time, and the task runs successfully after retry), and a failed "node2_fail" node;

The current phenomenon is that after the "node2_fail" node fails, the process is in the failure state, and the "node1_fail_retry" node will not retry the task (the retry state may be successful) and the subsequent tasks will not run;

Because the "node2_fail" node fails and the "errorTaskList" in the "MasterExecThread" is not empty, in the "processFailed()" method, "hasFailedTask()" returns true. When the FailureStrategy is CONTINUE, "activetasknode = 0", "processFailed()" returns false, causing the process instance state to change to failed.

8

What you expected to happen

I think it is wrong not to retry the process node at the same level if it fails, because the actual task scenario may fail for the first time, run successfully after retrying, and then continue to run the downstream node.

How to reproduce

  1. Create a new process
  2. Create a process node relationship as shown in the figure. The node "node1_fail_retry" is set error retry. The node "node2_fail" fails directly. Nodes "node3", "node4" and "node5 "can be created arbitrarily
  3. Online process and runprocess
    11

22

Anything else

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions