nipype / pydra

Pydra Dataflow Engine
https://nipype.github.io/pydra/
Other
119 stars 57 forks source link

MNT: Check that the checksum of a task doesn't change during execution #681

Open tclose opened 11 months ago

tclose commented 11 months ago

If the checksum of a task changes during execution then Pydra won't know where to look for the results and bugs out with a cryptic message (NoneType doesn't have attribute ...). We should at least cache the checksum and detect when it has changed and provide a more descriptive error message. Ideally, we would store checksums for each of the input fields to help narrow down the issue in the error message.

For example, I had a task where the output directory was specified as type Directory instead of Path and therefore its hash changed after the output data was written to it. We should be able to catch this case and prompt the user to consider changing it to a path.