[ZODB-Dev] RelStorage, history-free, MySQL - errors
    Chris Withers 
    chris at simplistix.co.uk
       
    Fri Jan 28 07:10:06 EST 2011
    
    
  
Hi Shane,
Okay, so here's the test harness:
svn co https://secure.simplistix.co.uk/svn/relstorage_pack -r 4594
It uses the normal RelStorage test users and databases.
After running the buildout, I do each of the following in their own 
terminal:
bin/generate --zap
bin/zodbpack pack.conf
On 28/01/2011 10:26, Shane Hathaway wrote:
>> I'm going to have a go at knocking up a small batch script that you can
>> run to reproduce the issue, but there's definitely an issue here when
>> packing while changing lots of data in a ZODB.
>
> I look forward to your results!
I initially had the file size set to 200Kb and everything seemed to be 
behaving as it should.
I dropped the file size to 1kb and tried again, getting the following 
after a short time:
Traceback (most recent call last):
   File "bin/generate", line 100, in <module>
     generate.generate('/home/zope/relstorage_pack/zodb.conf')
   File "/home/zope/relstorage_pack/generate.py", line 62, in generate
     app.manage_delObjects([id])
   File 
"/var/buildout-eggs/Zope2-2.12.7-py2.6-linux-i686.egg/OFS/ObjectManager.py", 
line 536, in manage_delObjects
     if v.wl_isLocked():
   File 
"/var/buildout-eggs/ZODB3-3.9.6-py2.6-linux-i686.egg/ZODB/Connection.py", line 
847, in setstate
     self._setstate(obj)
   File 
"/var/buildout-eggs/ZODB3-3.9.6-py2.6-linux-i686.egg/ZODB/Connection.py", line 
897, in _setstate
     p, serial = self._storage.load(obj._p_oid, '')
   File 
"/var/buildout-eggs/RelStorage-1.4.0-py2.6.egg/relstorage/storage.py", 
line 448, in load
     state, tid_int = cache.load(cursor, oid_int)
   File 
"/var/buildout-eggs/RelStorage-1.4.0-py2.6.egg/relstorage/cache.py", 
line 234, in load
     self._check_tid_after_load(oid_int, actual_tid_int, tid_int)
   File 
"/var/buildout-eggs/RelStorage-1.4.0-py2.6.egg/relstorage/cache.py", 
line 187, in _check_tid_after_load
     'thread_ident': thread.get_ident(),
AssertionError: Detected an inconsistency between the RelStorage cache 
and the database while loading an object using the delta_after0 dict. 
Please verify the database is configured for ACID compliance and that 
all clients are using the same commit lock.  (oid_int=2509, 
expect_tid_int=255550891637739451L, actual_tid_int=None, 
current_tid=255550892026220390L, cp0=255550891176006912L, 
cp1=255550891176006912L, len(delta_after0)=2376, len(delta_after1)=0, 
pid=6087, thread_ident=-1219049280)
Not the POSKeyError I'm having trouble with, but looks like you might 
want to know ;-)
Could this have anything to do with the POSKeyErrors?
cheers,
Chris
-- 
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk
    
    
More information about the ZODB-Dev
mailing list