[Juan Pablo Giménez]
ok... but, if you delete Data.fs zope keep running, writing data into
and don't log nothing about it. Sorry, but that's a bug...
Well, if it is, it's an operating system "bug": you normally don't
"delete" files on Unix-like systems, you merely "unlink" them, meaning
that the file (inode) still exists, but you remove the /directory
entry/ pointing to the file. Then there's no longer any wholly
obvious way to access the file, as the file no longer "has a name".
Processes (like ZODB) that have a file descriptor open can still write
to (and read from, etc) the file with no problems at all -- /nothing
has changed/ from their point of view. A process couldn't care less
about the name of a file after they've opened that file.
Windows doesn't make this distinction: it's impossible to delete (or
rename) an open file on Windows; there is no distinct "unlink"
concept. Linux couldn't care less. You might think you'd prefer
Windows file semantics, but, trust me ;-), you wouldn't. It would
prevent the specific problem you're having, but creates other
BTW, if you unlink Data.fs.tmp on a Unix-like system, same thing:
ZODB will keep using the original file, despite that you can no longer
"see" it with ordinary user-level filesystem tools (ls, etc).
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org