TransientIO: Finishing task is mandatory (#976)

Fixes #976.

Keep trying or throw:

Prone to `StackOverFlowException` is some very rare
scenario (if there is a long transaction going on
with the file).

Secondly, fixes the compiler issue where
map filename is the property of base executor
instead of a local variable.