[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