Re: [ZODB-Dev] [PATCH] Fix possible data corruption after FileStorage is truncated to roll back a transaction

2014-02-11 Thread Julien Muchembled
We had this bug in production. Attached file is a stress test I wrote to reproduce and understand the issue. import asyncore, logging, os, signal, shutil, sys, tempfile, time import transaction import ZODB from ZODB.FileStorage import FileStorage from ZODB.POSException import ConflictError from ZO

[ZODB-Dev] [PATCH] Fix possible data corruption after FileStorage is truncated to roll back a transaction

2014-02-11 Thread Julien Muchembled
Multi-threaded IO support, which is new to ZODB 3.10, allows clients to read data (load & loadBefore) even after tpc_vote has started to write a new transaction to disk. This is done by using different 'file' objects. Issues start when a transaction is rolled back after data has been appended (usi