[Swift-devel] User perspective on how an app procedure call maps into an application executable call

Ben Clifford benc at hawaga.org.uk
Fri Dec 5 11:02:15 CST 2008



> > "The input files must be treated as read only files."
> > 
> > This made me wonder what happens if I violate the condition. Do we  
> > test for this condition and make the application fail if it is  
> > violated? Or are we really saying "if you make any chances they will  
> > be lost as we don't copy the file back."

[...]
> modifications are probably lost
[...]

Its likely that modifications are lost post-workflow (though not 
guaranteed - for example, I made a cog provider that made local filesystem 
stageins happen using hard links. In that case, there is potential for a 
misbehaving application to modify the input file at its original master 
location)

Within a workflow run, writing to an input file will give similar 
non-determinism as happens in other replica-management situations where 
the replicas are not actually replcias.

Subsequently executed jobs that make use of the same input file may be fed 
the modified input file (if on the same site and still in the cache) or 
may be fed the original input file (if on a different site).

The consequence of that is that writing to an input file may make the 
outputs of all other procedures that use that input non-deterministically 
wrong.

The architecture at the moment would fairly straightforwardly support a 
more-assertions/more-overhead mode to prevent or detect such changes, if 
it was desirable; however, I've not seen it happen in practice and our 
present trend is towards less overhead, not more.

-- 



More information about the Swift-devel mailing list