-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Duplicate task triggers are incorrectly reported as circular task dependencies #583
Comments
Seems this only occur if the top level task (TaskA) is scheduled.
That |
Latest update improved things, but reports a destination task of "undefined" in some occasions:
|
Currently circular task chains are detected by storing the entire task object in a set, and then checking if the set already contains a task. Better would be to just store the task ID in the set. |
There's a corner case bug: If a task chain at some point branches off into two (or more) paths, one of the paths will be examined first wrt circular task chains. The tasks in that branch will be remembered by Ctrl-Q. A proper Depth-First Search (DFS) algorithm is needed. Represent the Tasks:
Initialize Data Structures:
DFS Function with Cycle Detection:
Detect Cycles:
|
What version of Ctrl-Q are you using?
4.4.0
What version of Node.js are you using? Not applicable if you use the standalone version of Ctrl-Q.
What command did you use to start Ctrl-Q?
ctrl-q.exe qseow task-get ...
What operating system are you using?
Windows 11
What CPU architecture are you using?
What Qlik Sense versions are you using?
Describe the Bug
Scenario:
Ctrl-Q will report the second of TaskB's triggers as a circular dependency:
├─ TaskA
│ ├─ TaskB
│ │ ├─ TaskC
│ │ ├─ TaskD
│ └─ ==> !!! Cyclic dependency detected from task "TaskA" to "TaskB"
Expected Behavior
Ctrl-Q should identify that TaskB has several identical triggers (except their names) and warn about this.
There should not be a warning about a circular load chain.
To Reproduce
No response
The text was updated successfully, but these errors were encountered: