[ZODB-Dev] More Info, Still Stuck :-(
Toby Dickenson
tdickenson@geminidataloggers.com
Mon, 22 Oct 2001 12:31:42 +0100
On Fri, 19 Oct 2001 15:33:17 +0100, Chris Withers <chrisw@nipltd.com>
wrote:
>Chris Withers wrote:
>>=20
>> copyTransactionsFrom
>> s=3Dself.store(oid, pre, r.data, r.version, transaction)
>> File "/var/local/zope/storage/lib/python/bsddb3Storage/Full.py", =
line 573, in
>> store
>> File "/usr/local/zope/2.4.0_base/lib/python/ZODB/utils.py", line =
109, in U64
>> h, v =3D unpack(">II", v)
>> TypeError: unpack() argument 2 must be string or read-only buffer, not=
None
>
>Well, a bit of unmasking (wrapping the raise in a try...except that =
replaced
>utils.U64(serial) with just serial means the following exception is now =
yielded:
>
>Traceback (most recent call last):
> File "fs2bdbs.py", line 25, in ?
> dst.copyTransactionsFrom(src)
> File "/usr/local/zope/2.4.0_base/lib/python/ZODB/BaseStorage.py", line=
293, in
>copyTransactionsFrom
> s=3Dself.store(oid, pre, r.data, r.version, transaction)
> File "/var/local/zope/production/lib/python/bsddb3Storage/Full.py", =
line 578,
>in store
> raise POSException.ConflictError(
>ZODB.POSException.ConflictError: serial number mismatch (was: @=95=DA?n =
has: None)
>
>Now, None as a transaction serial number to me seems very wrong. Does =
anyone
>have any idea what could have caused this and how I can correct it?
Ive seen something similar before where TmpStorage (the store used in
subtransactions) wasnt expecting None as a transaction id. In that
case the None was generated as part of an import from a .zexp file. Im
not sure if that relevant to you, but it might be a clue.
Toby Dickenson
tdickenson@geminidataloggers.com