[ZODB-Dev] ConflictError and POSKeyError with 2.6 CVS :-(

Toby Dickenson tdickenson@geminidataloggers.com
Wed, 16 Oct 2002 13:20:57 +0100


On Wednesday 16 Oct 2002 12:33 pm, Chris Withers wrote:

> > 1. Those two objects are present in the database, but can not be load=
ed
> > for some short-term reason. If this is a FileStorage then you may get
> > some mileage from shutting down the zeo server, deleting the index fi=
le,
> > and restarting. Have you done this since the 2.6 upgrade?
>
> Will try this, I don't remember doing it before...

> >     We know that there
> >     are currently several such bugs, but we believe they only happen =
in
> >     extremely rare circumstances.
>
> What are these circumstances?

Heres one:
http://lists.zope.org/pipermail/zodb-dev/2002-May/002602.html

Jim pointed out that you can do the same thing using global variables rat=
her=20
than conflict resolution. Global variables are more common, but easier to=
 get=20
right ;-)

> >     DirectoryStorage now has code to detect
> >     this during the commit; so far I have not trapped anything
> > interesting.
>
> Is DirectoryStorage good for Production use yet? it might be interestin=
g to
> try here and see if I catch anything interesting :-)

Ive had it in production use for over a month, in a system where people s=
cream=20
at me if it fails. No problems so far.

1.0 alpha 3 is just released today. I dont expect any changes before a be=
ta=20
release, but I plan to delay that until we reach a conclusion over how=20
extension methods are to be supported in ZEO.

> >     2b. Possibly the reference was not dangling when it was committed=
,
> > but FileStorage has incorrectly removed the object that it was referr=
ing
> > to (probably during a pack).
>
> Yeah, two out of the three FileStorages served up from this ZSS are pac=
ked
> very regularly. We shall see if deleting the index helped...

Hmm. What pack date threshold do you use? 'zero days' is particularly bad=
 for=20
provoking the bug I mentioned earlier. (in the past I have argued it shou=
ldnt=20
be the default :-(.