Jeroen Michiel
2012-12-11 16:33:15 UTC
Hi,
I'm having serious trouble getting my DB evolved to a new version. I'm
runnong a Grok 1.4 site using ZODB 3.10.2
The problem happens when I add a new index to a new catalog.
As soon as the index is added, a subscriber from zop.catalog (I believe)
will automatically loop over all objects in the DB trying to index them. For
some reason, it apparently tries to keep all these objects into memory,
while only a very small part of them are effectively need indexing, and even
then, indexing shouldn't touch them.
After some time of running I see the process taking 1.9GB of mem on windows,
(or 3G on linux), and then I first get these errors:
2012-12-11 16:52:56,617 ERROR [ZODB.Connection] Couldn't load state for
0x0a45a2
Traceback (most recent call last):
File
"c:\users\jm.traficon-int\.buildout\eggs\zodb3-3.10.2-py2.6-win32.egg\ZODB\Connection.py",
line 856, in setstate
self._setstate(obj)
File
"c:\users\jm.traficon-int\.buildout\eggs\zodb3-3.10.2-py2.6-win32.egg\ZODB\Connection.py",
line 910, in _setstate
self._reader.setGhostState(obj, p)
File
"c:\users\jm.traficon-int\.buildout\eggs\zodb3-3.10.2-py2.6-win32.egg\ZODB\serialize.py",
line 612, in setGhostState
state = self.getState(pickle)
File
"c:\users\jm.traficon-int\.buildout\eggs\zodb3-3.10.2-py2.6-win32.egg\ZODB\serialize.py",
line 605, in getState
return unpickler.load()
MemoryError
I have not a single clue why it would need that much memory.
I tried using savepoints, but that doesn't help.
How can I see what exactly is eating all that memory, where do I start
debugging this?
ANY help appreciated!
I'm having serious trouble getting my DB evolved to a new version. I'm
runnong a Grok 1.4 site using ZODB 3.10.2
The problem happens when I add a new index to a new catalog.
As soon as the index is added, a subscriber from zop.catalog (I believe)
will automatically loop over all objects in the DB trying to index them. For
some reason, it apparently tries to keep all these objects into memory,
while only a very small part of them are effectively need indexing, and even
then, indexing shouldn't touch them.
After some time of running I see the process taking 1.9GB of mem on windows,
(or 3G on linux), and then I first get these errors:
2012-12-11 16:52:56,617 ERROR [ZODB.Connection] Couldn't load state for
0x0a45a2
Traceback (most recent call last):
File
"c:\users\jm.traficon-int\.buildout\eggs\zodb3-3.10.2-py2.6-win32.egg\ZODB\Connection.py",
line 856, in setstate
self._setstate(obj)
File
"c:\users\jm.traficon-int\.buildout\eggs\zodb3-3.10.2-py2.6-win32.egg\ZODB\Connection.py",
line 910, in _setstate
self._reader.setGhostState(obj, p)
File
"c:\users\jm.traficon-int\.buildout\eggs\zodb3-3.10.2-py2.6-win32.egg\ZODB\serialize.py",
line 612, in setGhostState
state = self.getState(pickle)
File
"c:\users\jm.traficon-int\.buildout\eggs\zodb3-3.10.2-py2.6-win32.egg\ZODB\serialize.py",
line 605, in getState
return unpickler.load()
MemoryError
I have not a single clue why it would need that much memory.
I tried using savepoints, but that doesn't help.
How can I see what exactly is eating all that memory, where do I start
debugging this?
ANY help appreciated!
--
View this message in context: http://old.nabble.com/MemoryError-Evolving-a-ZODB-tp34784598p34784598.html
Sent from the Zope3 - users mailing list archive at Nabble.com.
View this message in context: http://old.nabble.com/MemoryError-Evolving-a-ZODB-tp34784598p34784598.html
Sent from the Zope3 - users mailing list archive at Nabble.com.