You are running zeopack on the production machine with "many clients"?  Are you
running the zeoserver on the same machine, "with many clients"?  It seems it is
the machine that ZEO server is on that is throwing the MemoryError.

I do not believe zeopack will bring the entire database into memory at
once.  It may/
probably brings the index into memory.

Suggestion: run zeopack and zeoserver on a separate machine or allocate more
memory to your zeoserver process.

Zope NOTE: Running zeo clients with zserver-threads 2 is common and
rarely does this
impact performance.  you will consume much less memory per zeo client than
the 'out of the box' zope.conf which specifies zserver-threads 4 (I am
-1 on this default)

cheers
alan

On Dec 17, 2007 6:36 AM, Chris Bainbridge <[EMAIL PROTECTED]> wrote:
> I have a ~9GB live ZEO database. Last night I tried to pack it, but
> got this error:
>
> 2007-12-17T01:27:08 (4179) Error raised in delayed method
> Traceback (most recent call last):
>   File 
> "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZEO/StorageServer.py",
> line 1016, in run
>     result = self._method(*self._args)
>   File 
> "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZEO/StorageServer.py",
> line 351, in _pack_impl
>     self.storage.pack(time, referencesf)
>   File 
> "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/FileStorage/FileStorage.py",
> line 1352, in pack
>     opos = p.pack()
>   File 
> "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/FileStorage/fspack.py",
> line 482, in pack
>     self.gc.findReachable()
>   File 
> "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/FileStorage/fspack.py",
> line 228, in findReachable
>     self.findReachableAtPacktime([z64])
>   File 
> "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/FileStorage/fspack.py",
> line 315, in findReachableAtPacktime
>     self.reachable[oid] = pos
>   File 
> "/home/user/lib/python/ZODB3-3.7.2-py2.4-linux-i686.egg/ZODB/fsIndex.py",
> line 84, in __setitem__
>     tree[key[6:]] = value
> MemoryError
> 2007-12-17T01:27:16 (7412) opening storage '1' using FileStorage
> 2007-12-17T01:34:25 datastore.fs truncated, possibly due to damaged
> records at 8580513351
> 2007-12-17T01:34:25 Writing truncated data from datastore.fs to 
> datastore.fs.tr0
>
> Are there any limits on the pack operation? I assume that it doesn't
> have to hold the entire DB in memory at once? Would bringing the
> database offline and then packing it work (ie. we run out of memory
> because we have many active clients), or is there some fundamental
> constraint in the underlying code?
>
> Thanks for your help,
> Chris
> _______________________________________________
> For more information about ZODB, see the ZODB Wiki:
> http://www.zope.org/Wikis/ZODB/
>
> ZODB-Dev mailing list  -  ZODB-Dev@zope.org
> http://mail.zope.org/mailman/listinfo/zodb-dev
>



-- 
Alan Runyan
Enfold Systems, Inc.
http://www.enfoldsystems.com/
phone: +1.713.942.2377x111
fax: +1.832.201.8856
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to