[Python-Dev] Re: RELEASED Python 2.3.1
Tim Peters
tim.one at comcast.net
Sat Sep 27 21:47:05 EDT 2003
[Jeremy Hylton]
> I suppose ZODB is such an expert application. It has to cope with
> systems that do not provide fsync(), but it provides degraded service
> on such platforms. It is very important for the database to call
> fsync() when it commits a transaction.
I'm not sure that ZODB *intends* to run on any system w/o fsync anymore. It
had to before 2.3 because os.fsync() didn't exist on Windows, and ZODB has
to run on Windows. I implemented os.fysnc() for Windows in 2.3 precisely so
that ZODB would work better on Windows.
More mundanely, as I recall, we were having a specific problem wherein a
backup script wasn't getting the correct size for a ZODB Data.fs file on
Windows, and file.flush()'ing Data.fs didn't help enough -- backup kept
screwing up until FileStorage's
if fsync is not None: fsync(file.fileno())
actually did something on Windows.
More information about the Python-Dev
mailing list