[ZODB-Dev] [Errno 27] File too large
Jim Fulton
jim@zope.com
Tue, 25 Sep 2001 19:01:46 -0400
Jeremy Hylton wrote:
>
> >>>>> "JF" == Jim Fulton <jim@zope.com> writes:
>
> >> I assume that a pack removes this data. If it doesn't, then
> >> that's a shocking oversight.
>
> JF> It does, but it throws away any subsequent transactions. The
> JF> same thing happens on startup. This is pretty
> JF> serious. Fortunately, this kind of failure should be extremely
> JF> rare.
>
> Why does it throw away subsequent transactions? The truncate occurs
> during the tpc_abort() when it's operating on the most recent
> transaction. There shouldn't be any transaction data in the file
> after the current transaction.
The abort itself should throw it away. Pack and startup
code assumes that if it encounters a transaction marked with a 't',
then the application died after it *started to* vote yes and before it
could finish the commit. The transaction might be incomplete.
In any case, only a serious failure should leave a transaction with
the 't' status.
Jim
--
Jim Fulton mailto:jim@zope.com Python Powered!
CTO (888) 344-4332 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org