-
Notifications
You must be signed in to change notification settings - Fork 532
When node changed and workflow rerun, child nodes of changed node failed to rerun #2951
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
Comments
@mick-d - are you positive that node2 is producing new outputs after change? it may still be producing the same output (content). if you are using content hash instead of timestamp that can help. but more details would help. |
Hi Satra, yes i am 100% positive, both the output content and timestamp of |
@mick-d - in that case would it be possible to create a small example that replicates the issue? |
@satra Yes, the previous nodes are actually part of a worflow so i'll create a simple and clear example from scratch to better illustrate it. |
Hi, Just to add onto this, I created a workflow with the following MapNodes for a BIDS dataset with 1 subject and 2 sessions:
On the first run, I did not have the gunzip MapNode and I set For my workflow I provided the following:
On the second run where I expect a
And sure enough, the gunzip MapNode doesnt find
Platform details:
Let me know how else I can help. Thank you :) |
After a more detailed look, specifying the output type to the FSL interface However, in my previous runs where I did not specify the output type, the inputs to the node did change from |
Summary
Usually when i am debugging a workflow, i change one of the node, and when rerunning the workflow all child nodes of that node will be rerun but parent and independent nodes will just use the cached previous results. However this does not happen in one of my workflow and i was wondering what were the criteria for this behavior to happen?
Actual behavior
1st run: Node 1 (results cached) --> Node 2 (results cached) --> Node 3 (results cached)
2nd run with Node 2 modified: Node 1 (use previous cached results --> Node 2 (creating new results to be cached) --> Node 3 (keep previous cached results although input changed)
Expected behavior
1st run: Node 1 (results cached) --> Node 2 (results cached) --> Node 3 (results cached)
2nd run with Node 2 modified: Node 1 (use previous cached results --> Node 2 (creating new results to be cached) --> Node 3 (creating new results to be cached)
How to replicate the behavior
I can put more details here but first it'd be great to know if the behavior expectation is correct, and what are the requirements for it to work. I believe the issue may come from the problematic node not rerun
fsl.CopyGeom
which creates a local copy of the file on which to copy the header information. It'd be great to have more information on how the "Node rerun" decision is made.Script/Workflow details
When
Node2
is modified and the workflow is rerun,CopyGeom
is not rerun (and subsequent nodes such asNode4
are not rerun either).Platform details:
Execution environment
Choose one
The text was updated successfully, but these errors were encountered: