The coder for the file system makes the choice whether to keep a
snapshot of the data to be read per FID, this way the FID reader will
always get the file they asked for, which, after the first read, isn't
necessarily the current version or to just return whatever each Tread
asks for regardless of whether the underlying data has changed.
It is akin to an SQL cursor. When I make an SQL request the rows
returned are a snapshot of the data when the query was made. If I read
them at one row per second there's a chance that the actual data in the
datastore changes between reads.
Either way there's a "tough luck" aspect, if you have a solution I'm
sure everyone would be delighted to hear it :)
It's a perinnial problem. When opening a file for writing some programs
(acme for instance) will warn you if the file has changed since you
opened it. That's a solution to the same problem.
Matt