[Zope] ConflictError on intSet after 2.6 migration breaks squishdot (ZCatalog):

Ivo van der Wijk ivo@amaze.nl
Fri, 31 Jan 2003 12:34:14 +0100


On Fri, Jan 31, 2003 at 11:21:57AM +0000, Toby Dickenson wrote:
> On Friday 31 January 2003 10:47 am, Ivo van der Wijk wrote:
> 
> > However, we're currently upgrading squishdot as well, and now we get
> > the same exception each time when adding a new post (probably due to
> > ZCatalog updates) - the posts aren't added, of course
> >
> > Module ZODB.Transaction, line 256, in _commit_objects
> >  Module ZODB.Connection, line 389, in commit
> >  __traceback_info__: (('intSet', 'intSet'),
> > '\x00\x00\x00\x00\x00\x16\xf2\xd1', '') Module ZODB.FileStorage, line 705,
> > in store
> 
> > ConflictError: database conflict error (oid 000000000016f2d1, serial was
> > 034976c696679466, now 0000000000000000)
> 
> That all-zeroes serial is very odd. I dont think that should ever happen. 
> 

I'm not too familiar with this stuff but this is what I think happens:

Squisdot uses an intSet internally for storing article numbers, and
a standard object hierarchie to store the actual data. Upon unpersisting
the intSet (als in ZCatalogs), no errors occur, but the correct data is
not restored in the object.

Persisting/comitting an intSet does create a conflict, perhaps because of
the improper unpersisting.

This explains why, for example, we get tons of keyerrors on intSets when
trying to update the Squisdhot catalog.

I don't know if I make any sense here - it's just the way I interpret the
problems I encountered.

Cheers

	Ivo

-- 
Drs. I.R. van der Wijk                                      -=-              
Brouwersgracht 132                             Amaze Internet Services V.O.F.
1013 HA Amsterdam, NL                                       -=-              
T +31-20-4688336         F +31-20-4688337        Linux/Web/Zope/SQL/MMBase   
W http://www.amaze.nl    E info@amaze.nl             Network Solutions        
W http://vanderwijk.info E ivo@amaze.nl                 Consultancy          
PGP http://vanderwijk.info/pgp                              -=-