[ZODB-Dev] OverflowError on get_transaction().commit(1)

Sidnei da Silva sidnei@x3ng.com
Mon, 30 Dec 2002 17:50:36 -0200


Hi ZODB gods,

I just got a strange ZODB error while trying to optimize NZO migration
script. (Traceback below)

NZOMigrate.py line 528 has only 'get_transaction().commit(1)'

The script is called recursively for each object, while walking
self.objectValues() and at the end of the function I call
get_transaction().commit(1) before returning. 

Im no ZODB guru, so i dont know what kind of problem may be happenning
here, but I have a guess that it is exceeding the maximum size of a
transaction or something like that. 

Just as a note, the ZODB for NZO has around 2G of data (packed) and
the last successful run of this script made the Data.fs end up with
17Gb. The error happened when the script was around 30% of completion.

Oh, more details: 

 - ZEO is from ZODB3-3_1-branch
 - Zope is from Zope-2_6-branch

 Both checked out this evening.

----------------------------------------------------------
Traceback (innermost last):
  Module ZPublisher.Publish, line 98, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 39, in call_object
  Module Shared.DC.Scripts.Bindings, line 252, in __call__
  Module Shared.DC.Scripts.Bindings, line 283, in _bindAndExec
  Module Products.PythonScripts.PythonScript, line 315, in _exec
  Module Script (Python), line 1, in runMigrate
   - <PythonScript at /runMigrate>
   - Line 1
  Module Products.ExternalMethod.ExternalMethod, line 224, in __call__
   - __traceback_info__: ((<Application instance at 8cefac0>, <CMFSite
   instance at 8d3ff20>), {}, (None, None))
  Module
  /slab/sandbox/var/Instance/Products/ZopeOrg/Extensions/NZOMigrate.py, line 40, in migrate
  Module
  /slab/sandbox/var/Instance/Products/ZopeOrg/Extensions/NZOMigrate.py, line 530, in run
  Module
  /slab/sandbox/var/Instance/Products/ZopeOrg/Extensions/NZOMigrate.py, line 528, in run
  Module ZODB.Transaction, line 236, in commit
  Module ZODB.Transaction, line 352, in _commit_objects
  Module ZODB.Connection, line 390, in commit
   - __traceback_info__: (('BTrees._IIBTree', 'IISet'),
   '\x00\x00\x00\x00\x00.\xc7\xe5', '')
  Module ZODB.TmpStore, line 79, in store
OverflowError: integer addition
----------------------------------------------------------

[]'s
-- 
Sidnei da Silva (dreamcatcher) <sidnei@x3ng.com.br>
X3ng Web Technology <http://www.x3ng.com.br>
GNU/Linux user 257852
Debian GNU/Linux 3.0 (Sid) 2.4.18 ppc

Software is like sex; it's better when it's free.
	-- Linus Torvalds