If you cancel a workflow while its writing into a file, the file creation will not be rollbacked and hence a partial file would have been created.
This is problematic when working with incremental load relying on file from the past.
My proposal is to have an output mode which allow transactionnal writing. If workflow is cancelled nothing is being written. This could be done by writing first in a temporary file before renaming it.