Re: [ZODB-Dev] Changing namespace - best strategy

2013-08-23 Thread Adam GROSZER

On 08/23/2013 09:07 AM, Marius Gedminas wrote:


And then there's https://pypi.python.org/pypi/zodbupdate which sounds
exactly like the tool you want for this.



Yeah, that definitely works. You just got to get the moving 
classes/definitions right.



--
Best regards,
 Adam GROSZER
--
Quote of the day:
Knowledge by suffering entereth, And life is perfected by death.
- Elizabeth Barrett Browning
___
For more information about ZODB, see http://zodb.org/

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


Re: [ZODB-Dev] zc.zlibstorage missing from zodb package

2013-07-22 Thread Adam GROSZER

On 07/21/2013 05:09 AM, Christian Tismer wrote:


- discussion

zc.zlibstorage requites a wrapper to add it to filestorage.
I consider this an option, instead, and a simple boolean flag to switch
it on and off.
The module is way too simple to add all this config extra complication
to even think of it.


IMHO the wrapper architecture is a good thing, you can do some handy 
things as:


https://pypi.python.org/pypi/cipher.encryptingstorage

--
Best regards,
 Adam GROSZER
--
Quote of the day:
It's not whether you win or lose, it's how good you look playing!  - 
David Lee Roth

___
For more information about ZODB, see http://zodb.org/

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


Re: [ZODB-Dev] transaction: synchronizer newTransaction() behavior

2013-03-11 Thread Adam GROSZER

Hello,

Slightly offtopic:
https://pypi.python.org/pypi/mongopersist

On 03/09/2013 03:54 AM, Siddhartha Kasivajhula wrote:

...

--
Best regards,
 Adam GROSZER
--
Quote of the day:
The only thing worse than an alarm going off is one that doesn't.
- Unknown
___
For more information about ZODB, see http://zodb.org/

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


Re: [ZODB-Dev] [Zope3-Users] MemoryError Evolving a ZODB

2012-12-12 Thread Adam GROSZER

Hello,

That approach works for us, on DBs over 100GB.

Let's CC zodb-dev, which seems to be the better place to discuss this.

On 12/12/2012 09:39 AM, Jeroen Michiel wrote:


Thanks for the reply!

I already tried
transaction.savepoint()
every minute, but that didn't help: I only saw the memory usage dropping the
first time, but never after.

I changed the code to what you suggested, but it still doesn't seem to help.
Something must be wrong somewhere along the line, but I don't have a clue
where to begin looking.
Would using something like guppy (or heapy, or what it's called) reveal
something?

Could it be something about objects with circular references not being able
to be garbage-collected?
The objects in my DB are quite complex, so something like that might
actually be happening.


Adam Groszer-3 wrote:


Well it loads too many objects in a single transaction.
Doing this after some iterations (10k?, depends on your object sizes)
helps usually:

def forceSavepoint(anyPersistentObject=None):
  transaction.savepoint(optimistic=True)

  if anyPersistentObject is not None:
  #and clear picklecache
  conn = anyPersistentObject._p_jar
  conn.cacheGC()


--
Best regards,
   Adam GROSZER
--
Quote of the day:
A liberal is someone too poor to be a capitalist and too rich to be a
communist.
___
Zope3-users mailing list
zope3-us...@zope.org
https://mail.zope.org/mailman/listinfo/zope3-users





--
Best regards,
 Adam GROSZER
--
Quote of the day:
The Atomic Age is here to stay - but are we?  -  Bennett Cerf
___
For more information about ZODB, see http://zodb.org/

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


Re: [ZODB-Dev] SVN: ZODB/trunk/ Note split of persistent.

2012-08-27 Thread Adam GROSZER

Hello,

Now we have some problems making the binary eggs.
See the attached txt for the full output.

On 08/26/2012 09:07 PM, Tres Seaver wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08/26/2012 07:05 AM, Hanno Schlichting wrote:

On Sat, Aug 25, 2012 at 4:11 PM, Tres Seaver tsea...@palladion.com
wrote:

This failure, and the others like it, indicate that the buildout
has failed to install persistent correctly (there is nothing
Windows-specific about the failure)::


I actually got the same error locally.

The trouble is the timestamp.py module and the TimeStamp.c extension.
During installation setuptools creates a wrapper for the extension
file. So you end up with TimeStamp.so but also a timestamp.py
wrapper. This wrapper overwrites the original timestamp.py module.

You likely have a case-sensitive file system and therefor didn't get
this problem.


Whoever came up with the idea of a case-insensitive filesystem should be
shot (or at least, whoever decided to keep doing that after moving off of
DOS).

I have worked around this problem (I think) by renaming the extension
module to '_timestamp.so'.  I released a 4.0.1 to PyPI with this fix,
along with a fix for the int - long overflow on 32-bit systems.


I think TimeStamp.c has been there before and is imported in other
modules as from persistent.TimeStamp import TimeStamp. So we should
keep that API and use a different name for the new timestamp.py
module.


I don't see the need for the BBB-preservation here:  I documented the
backward-incompatibility in CHANGES.txt instead.


Tres.
- --
===
Tres Seaver  +1 540-429-0999  tsea...@palladion.com
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlA6c9IACgkQ+gerLs4ltQ6ocACeIqlGWazwos+yWGaMvgMCOkQD
ZQoAn3oR2rY70a1oT6aTjLpofIVtVBNd
=GzPs
-END PGP SIGNATURE-

___
For more information about ZODB, see http://zodb.org/

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




--
Best regards,
 Adam GROSZER
--
Quote of the day:
Never let a man imagine that he can pursue a good end by evil means, 
without sinning against his own soul. The evil effect on himself is certain.

- Robert Southey
running build_ext
building 'persistent.cPersistence' extension
creating build
creating build\temp.win32-2.6
creating build\temp.win32-2.6\Release
creating build\temp.win32-2.6\Release\persistent
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox 
/MD /W3 /GS- /DNDEBUG -Ic:\Python26_32\include -Ic:\Python26_32\PC 
/Tcpersistent/cPersistence.c 
/Fobuild\temp.win32-2.6\Release\persistent/cPersistence.obj
cPersistence.c
persistent/cPersistence.c(1124) : warning C4047: '' : '__int64' differs in 
levels of indirection from 'PyObject *'
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox 
/MD /W3 /GS- /DNDEBUG -Ic:\Python26_32\include -Ic:\Python26_32\PC 
/Tcpersistent/ring.c /Fobuild\temp.win32-2.6\Release\persistent/ring.obj
ring.c
creating build\lib.win32-2.6
creating build\lib.win32-2.6\persistent
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo 
/INCREMENTAL:NO /LIBPATH:c:\Python26_32\libs /LIBPATH:c:\Python26_32\PCbuild 
/EXPORT:initcPersistence 
build\temp.win32-2.6\Release\persistent/cPersistence.obj 
build\temp.win32-2.6\Release\persistent/ring.obj 
/OUT:build\lib.win32-2.6\persistent\cPersistence.pyd 
/IMPLIB:build\temp.win32-2.6\Release\persistent\cPersistence.lib 
/MANIFESTFILE:build\temp.win32-2.6\Release\persistent\cPersistence.pyd.manifest
   Creating library build\temp.win32-2.6\Release\persistent\cPersistence.lib 
and object build\temp.win32-2.6\Release\persistent\cPersistence.exp
C:\Program Files\Microsoft SDKs\Windows\v6.1\bin\mt.exe -nologo -manifest 
build\temp.win32-2.6\Release\persistent\cPersistence.pyd.manifest 
-outputresource:build\lib.win32-2.6\persistent\cPersistence.pyd;2
building 'persistent.cPickleCache' extension
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox 
/MD /W3 /GS- /DNDEBUG -Ic:\Python26_32\include -Ic:\Python26_32\PC 
/Tcpersistent/cPickleCache.c 
/Fobuild\temp.win32-2.6\Release\persistent/cPickleCache.obj
cPickleCache.c
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox 
/MD /W3 /GS- /DNDEBUG -Ic:\Python26_32\include -Ic:\Python26_32\PC 
/Tcpersistent/ring.c /Fobuild\temp.win32-2.6\Release\persistent/ring.obj
ring.c
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo 
/INCREMENTAL:NO /LIBPATH:c:\Python26_32\libs /LIBPATH:c:\Python26_32\PCbuild 
/EXPORT:initcPickleCache 
build\temp.win32-2.6\Release\persistent/cPickleCache.obj 
build\temp.win32-2.6\Release\persistent/ring.obj

Re: [ZODB-Dev] Build compression into ZODB 3.11?

2012-03-20 Thread Adam GROSZER

Hello,

What about LZ4HC?
http://code.google.com/p/lz4hc/

On Tue, 20 Mar 2012 10:27:26 -0400 you wrote:


On Thu, Mar 15, 2012 at 11:09 AM, Jim Fultonj...@zope.com  wrote:

On Wed, Mar 14, 2012 at 1:47 PM, Jim Fultonj...@zope.com  wrote:

...


At some point soonish, I'll do some
tests against a large database.


On a database with 180 million records, 150 million of which
are compressable:

CompressedCompress  Uncompress
Size % of time  time
uncompressed  microseconds  microseconds
---
zlib3896   12.5
lz4 527.4  1.6
---

lz4 is an order of magnitude faster than zlib, however,
lz4-compressed records were 36% larger.

For me, I don't think the speedup is worth the loss of compression.

Jim

--
Jim Fulton
http://www.linkedin.com/in/jimfulton
___
For more information about ZODB, see http://zodb.org/

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




--
Best regards,
 Adam GROSZER
--
Quote of the day:
Facts do not cease to exist because they are ignored.
___
For more information about ZODB, see http://zodb.org/

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


Re: [ZODB-Dev] Build compression into ZODB 3.11?

2012-03-19 Thread Adam GROSZER

Hello,

On Wed, 14 Mar 2012 13:47:54 -0400 you wrote:


I'm pretty happy with how zc.zlibstorage has worked out.

Should I build this into ZODB 3.11?


+1



BTW, lz4 compression looks interesting.


indeed, looks bloody fast



The Python binding (at least from PyPI) is broken.
I submitted an issue. Hopefully it will be fixed.


emmm, windows pains in sight?

--
Best regards,
 Adam GROSZER
--
Quote of the day:
The truest test of independent judgment is being able to dislike someone 
who admires us, and to admire someone who dislikes us.

- Sydney J. Harris
___
For more information about ZODB, see http://zodb.org/

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


Re: [ZODB-Dev] the difference between normal class object and the ZODB Persistent subclass object

2011-09-27 Thread Adam GROSZER
Hello,

Some links for you:

http://www.ibm.com/developerworks/aix/library/au-zodb/
http://www.zodb.org/zodbbook/
http://pypi.python.org/pypi/zodbbrowser


On Tue, 27 Sep 2011 18:16:08 +0800 you wrote:

 Hi. I Use eye to browse the ZODB database. There, the methods of the
 float object or any normal class objects are also shown. Are these
 methods stored in the database?

 Besides doing the _p_change magic, is there any extra advantage to write
 class derived from persistent.Persistent? Does ZODB store the
 persistent.Persistent subclass object more efficiently (much faster?
 smaller size?)

 Thanks

 --
 /Dr. Yi-Xin Liu/
 /Department of Macromolecular Science/
 /Fudan University/
 /Room 415, Yuejing Building /
 /Handan Rd. 220, //Shanghai, China/
 /Tel +86-021-65642863/
 /Mobile +86-13916819745/
 http://www.mendeley.com/profiles/yi-xin-liu/



 ___
 For more information about ZODB, see the ZODB Wiki:
 http://www.zope.org/Wikis/ZODB/

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


-- 
Best regards,
  Adam GROSZER
--
Quote of the day:
A city is a large community where people are lonesome together
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Delete an object in a IOBTree

2011-08-05 Thread Adam GROSZER
Hello,

On Fri, 05 Aug 2011 11:56:40 +0200 you wrote:

 Hello!

 I'm having a KeyReferenceToPersistent object in  IOBTree.__getstate__()
 that I don't see in IOBTree.items().

 Is there a way to remove it?

 In that KeyReferenceToPersistent I think there is an instance of a no
 longer existing class (broken).


BTrees had a bug earlier that kept some already deleted key-values 
referenced.

Worst case I'd build a new BTree:

old = some.object.attribute
new = old.__class__()
for k,v in old.items():
 new[k] = v
some.object.attribute = new
-- 
Best regards,
  Adam GROSZER
--
Quote of the day:
A ship on the beach is a lighthouse to the sea.  -  Dutch proverb
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] packing ZODB

2011-03-31 Thread Adam GROSZER
Hello,

After investigating FileStorage a bit, I found that GC runs on objects, 
but pack later by transactions. That means that if there's a bigger-ish 
transaction, we can't get rid of it until all of it's objects are GCed 
(or superseeded by newer states).

Is that correct? I think yes, so an idea might be to split up 
transactions to one transaction per object state somehow and pack again. 
This would definitely work only offline of course.

How is this handled by relstorage?

-- 
Best regards,
  Adam GROSZER
--
Quote of the day:
The most beautiful thing we can experience is the mysterious. It is the 
source of all true art and science.
- Albert Einstein

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] packing ZODB

2011-03-31 Thread Adam GROSZER
Hello,

On Thu, 31 Mar 2011 06:33:30 -0600 you wrote:

 On 03/31/2011 05:25 AM, Hanno Schlichting wrote:
 Hi.

 On Thu, Mar 31, 2011 at 12:46 PM, Adam GROSZERagros...@gmail.com wrote:
 After investigating FileStorage a bit, I found that GC runs on objects,
 but pack later by transactions. That means that if there's a bigger-ish
 transaction, we can't get rid of it until all of it's objects are GCed
 (or superseeded by newer states).

 Is that correct?

 I think so.

 Actually we can remove pieces of the old transaction and that's the way
 both FileStorage and RelStorage already work. RelStorage owes much of
 its success to simply duplicating the functionality of FileStorage and
 ZEO. ;-)

Yup, checked that and it works... You just got to get rid of all 
references ;-)

-- 
Best regards,
  Adam GROSZER
--
Quote of the day:
The proud man counts his newspaper clippings- the humble man his blessings.
- Bishop Fulton J. Sheen
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] savepoint not doing cacheGC?

2011-03-31 Thread Adam GROSZER
Hello,

I'm trying to iterate over the IntIds utility's object in a huge 
FileStorage DB, calling
transaction.savepoint(optimistic=True)
every 1000 iterations or so, but memory usage simply skyrockets.
Weird is that almost the same code was working with python 2.5 and ZODB 
3.9.6, now it does not with python 2.6 and ZODB 3.9.6.

config is:
   cache-size 1
   cache-size-bytes 50MB

-- 
Best regards,
  Adam GROSZER
--
Quote of the day:
Patience is the companion of wisdom.
- St. Augustine

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] zodbupdate install problem

2011-02-16 Thread Adam GROSZER
Hello,

On Tue, 15 Feb 2011 18:27:46 +0100 you wrote:


 On Tue, Feb 15, 2011 at 6:11 PM, Tres Seaver tsea...@palladion.com
 mailto:tsea...@palladion.com wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On 02/15/2011 12:06 PM, Tres Seaver wrote:
   On 02/15/2011 11:37 AM, Chris Fanning wrote:
   On Tue, Feb 15, 2011 at 5:16 PM, Adam GROSZER
 agros...@gmail.com mailto:agros...@gmail.com wrote:
  
   Hello,
  
   You got to use python 2.6, at least for zodbupdate.
  
  
   Thanks. I'd managed to get it going with 2.5 but I was getting this
   warning..
  
   Warning: Missing factory for Persistence PersistentMapping
  
   Now, using python 2.6, I'm still getting the same warning.
   Looks like I need to get this missing factory because the
 resulting zodb.fs
   still gives the same error
   AttributeError: 'PersistentMapping' object has no attribute
 'has_key'
  
   How do I install/configure this?
  
   You need to make the class importable at the old location in
 order to
   use instances of that class to convert to the new location.
   Something
   like::
  
import persistent.mapping
import sys
sys.modules['Persistence.PersistentMapping'] = \
   sys.modules['persistent.mapping']
  
   Then you should be able toload you old 'pages' object and create
 a new
   one (using the new class) and copy the contents into it from the
 old one.

 Actually, you can install the 'Persistence' package directly (it is
 distributed separately from Zope):

 http://pypi.python.org/pypi/Persistence


 Thankyou both,

 I've can load the database now.


Or use the rename rules feature of zodbupdate something like this:

renames = {'persistent.mapping PersistentMapping':
'Persistence PersistentMapping'}


-- 
Best regards,
  Adam GROSZER
--
Quote of the day:
I intend to live forever. So far, so good
- Stephen Wright
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] zodbupdate install problem

2011-02-15 Thread Adam GROSZER
Hello,

You got to use python 2.6, at least for zodbupdate.

On Tue, 15 Feb 2011 17:10:23 +0100 you wrote:



 On Tue, Feb 15, 2011 at 5:03 PM, Chris Fanning
 christopher.fann...@gmail.com mailto:christopher.fann...@gmail.com
 wrote:

 Hi,

 I've been using zodb as the database on a homebrew cms since 2004
 without one single problem. :)
 Now we're changing hardware so we're upgrading software too.
 I'm running into problems.

 The client starts like this.

 from Persistence import PersistentMapping
 def __init__(self):
.
if not dbroot.has_key('pages'):
  dbroot['pages'] = PersistentMapping()

 So I changed the Persistence to
 from persistent.mapping import PersistentMapping

 And now I get the error
 'PersistentMapping' object has no attribute 'has_key'

  From what I understand the objects are Broken and I need to upgrade
 the zodb.

 So I did
 #easy_install zodbupdate

 However I get this error.

 Running zodbupdate-0.5/setup.py -q bdist_egg --dist-dir
 /tmp/easy_install-iNI2JT/zodbupdate-0.5/egg-dist-tmp-AstNfF
File build/bdist.linux-x86_64/egg/zodbupdate/serialize.py, line 165


 symb = find_global(*symb_info, Broken=ZODBBroken)
   ^
 SyntaxError: invalid syntax


 I'm at a real loss here.
 Any help please?

 Chris.




 ___
 For more information about ZODB, see the ZODB Wiki:
 http://www.zope.org/Wikis/ZODB/

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

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Emulating site import/export or walking through all site objects?

2010-11-05 Thread Adam GROSZER
Hello Mikko,

Friday, November 5, 2010, 10:11:43 AM, you wrote:

MO Hi,

MO I would like to create an automatic test to check that Plone add-ons
MO install and uninstall cleanly. There has been problems that after the
MO add-on has been uninstalled, there are persistent objects based on the
MO add-on packages left around. If this happens you cannot import or
MO export the site anymore.

MO I would like to walk through all persistent objects contained inside a
MO site, or emulate import/export functionality to see if this happens or
MO not. Since I cannot actually unload Python eggs from the memory easily
MO (is this assumption correct?) I can just check pickled objects by
MO their dotted name and see if they are in blacklisted packages.

MO Are there any ready Python recipes or example code where I should start?

MO The question is also open here:
MO 
http://plone.293351.n2.nabble.com/Automatizing-uninstalls-cleanly-test-tp5705298p5705298.html



zodbupdate comes to my mind.
http://pypi.python.org/pypi/zodbupdate/0.5
It will find ALL objects which can't be loaded.


-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
Art is anything you can get away with.  -- Marshall McLuhan.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] weird error while packing

2010-08-29 Thread Adam GROSZER
Hello,

This exception came up while packing a filestorage:

2010-08-29T05:05:23 ERROR ZODB.DB packing
Traceback (most recent call last):
  File D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\DB.py, line 
826, in pack
self.storage.pack(t, self.references)
  File 
D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\FileStorage.py,
 line
1126, in pack
pack_result = self.packer(self, referencesf, stop, gc)
  File 
D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\FileStorage.py,
 line
1079, in packer
opos = p.pack()
  File 
D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\fspack.py,
 line 398,
in pack
self.gc.findReachable()
  File 
D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\fspack.py,
 line 191,
in findReachable
self.findReachableAtPacktime([z64])
  File 
D:\home\.buildout\eggs\ZODB3-3.9.5-py2.5-win32.egg\ZODB\FileStorage\fspack.py,
 line 276,
in findReachableAtPacktime
for oid in self.findrefs(pos):
SystemExit

Any pointers appreciated.

-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
When we walk to the edge of all the light we have and take the step into the 
darkness of the unknown, we must believe that one of two things will happen. 
There will be something solid for us to stand on or we will be taught to fly. 
- Patrick Overton 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] buildbot for ZODB on windows

2010-06-29 Thread Adam GROSZER
Hello,

There's a buildbot for ZODB for various windows platforms at
http://winbot.zope.org

-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
Pain can be a positive thing

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] ZODB Book

2010-06-16 Thread Adam GROSZER
Hello Alan,

How to sign up as a volunteer?

Tuesday, June 15, 2010, 10:23:35 PM, you wrote:

AR Hello ZODB Community,

AR I wanted to announce a community-led initiative to create a ZODB book.
AR The goal is to solicit contributions from the community and when we
AR reach a threshold, Carlos de la Guardia will begin work on writing the
AR book.

AR I have started a blog, http://zodbdocs.blogspot.com/
AR The blog contains the contribution levels and the proposed outline.
AR Any feedback is appreciated.

AR If you are interested in contributing financially please subscribe to
AR the email list on the blog.

AR I am working on getting a paypal account.  I will keep the blog up to
AR date and will ping the mailing list when we start accepting contributions.

AR cheers
AR alan runyan
AR ___
AR For more information about ZODB, see the ZODB Wiki:
AR http://www.zope.org/Wikis/ZODB/

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


-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
People will buy anything that's one to a customer.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] My bugday

2010-06-16 Thread Adam GROSZER
Hello,

My only task was to setup the zope.wineggbuilder on the server with a
buildbot.

It is here:

  http://173.203.65.130/

  will be http://winbot.zope.org once DNS entries propagate

For this night it will do a testing round with zope.i18nmessageid,
for tomorrow night I'm going to switch it to full mode if nothing big
happens.

-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
Desire joy and thank God for it. Renounce it, if need be, for other's sake. 
That's joy beyond joy. 
- Robert Browning 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Some interesting (to some:) numbers

2010-05-12 Thread Adam GROSZER
Hello Jim,

Tuesday, May 11, 2010, 8:36:46 PM, you wrote:

JF On Sun, May 9, 2010 at 4:59 PM, Roel Bruggink r...@fourdigits.nl wrote:
 On Sun, May 9, 2010 at 8:33 PM, Jim Fulton j...@zope.com wrote:

 Our recent discussion of compression made me curious so I did some
 analysis of pickle sizes in one of our large databases. This is for a
 content management system.  The database is packed weekly.  It doesn't
 include media, which are in blobs.

 There were ~19 million transaction in the database and around 130
 million data records. About 60% of the size was taken up by BTrees.
 Compressing pickles using zlib with default compression reduced the
 pickle sizes by ~58%. The average uncompressed record size was 1163
 bytes.  The average compressed size was ~493 bytes.

 This is probably enough of a savings to make compression interesting.

JF ...

 That's really interesting! Did you notice any issues performance wise, or
 didn't you check that yet?

JF OK, I did some crude tests.  It looks like compressing is a little
JF less expensive than pickling and decompressing is a little more
JF expensive than unpickling, which is to say this is pretty cheap.  For
JF example, decompressing a data record took around 20 microseconds on my
JF machine. A typical ZEO load takes 10s of milliseconds. Even in Shane's
JF zodb shootout benchmark which loads data from ram, load times are
JF several hundred microseconds or more.

JF I don't think compression will hurt performance.  It is likeley to
JF help it in practice because:

JF - There will be less data to send back and forth to remote servers.

JF - Smaller databases will get more benefit from disk caches.
JF   (Databases will be more likely to fit on ssds.)

JF - ZEO caches (and relstorage memcached caches) will be able to hold
JF   more object records.

I was thinking about using other compressors.
I found this:
http://tukaani.org/lzma/benchmarks.html
Seems like gzip/zlib is the fastest with some expense of efficiency.

-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
What this country needs is a good five-cent microcomputer.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Some interesting (to some:) numbers

2010-05-11 Thread Adam GROSZER
Hello Jim,

Monday, May 10, 2010, 1:27:00 PM, you wrote:

JF On Sun, May 9, 2010 at 4:59 PM, Roel Bruggink r...@fourdigits.nl wrote:
 That's really interesting! Did you notice any issues performance wise, or
 didn't you check that yet?

JF I didn't check performance. I just iterated over a file storage file,
JF checking compressed and uncompressed pickle sizes.

I'd say some checksum is then also needed to detect bit failures that
mess up the compressed data.

-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
A true friend is someone who is there for you when he'd rather be anywhere 
else. 
- Len Wein 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Some interesting (to some:) numbers

2010-05-11 Thread Adam GROSZER
Hello Jim,

Tuesday, May 11, 2010, 12:33:04 PM, you wrote:

JF On Tue, May 11, 2010 at 3:16 AM, Adam GROSZER agros...@gmail.com wrote:
 Hello Jim,

 Monday, May 10, 2010, 1:27:00 PM, you wrote:

 JF On Sun, May 9, 2010 at 4:59 PM, Roel Bruggink r...@fourdigits.nl wrote:
 That's really interesting! Did you notice any issues performance wise, or
 didn't you check that yet?

 JF I didn't check performance. I just iterated over a file storage file,
 JF checking compressed and uncompressed pickle sizes.

 I'd say some checksum is then also needed to detect bit failures that
 mess up the compressed data.

JF Why?

I think the gzip algo compresses to a bit-stream, where even one bit
has an error the rest of the uncompressed data might be a total mess.
If that one bit is relatively early in the stream it's fatal.
Salvaging the data is not a joy either.
I know at this level we should expect that the OS and any underlying
infrastructure should provide error-free data or fail.
Tho I've seen some magic situations where the file copied without
error through a network, but at the end CRC check failed on it :-O

-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
You may have to fight a battle more than once to win it. 
- Margaret Thatcher 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Some interesting (to some:) numbers

2010-05-11 Thread Adam GROSZER
Hello,

Tuesday, May 11, 2010, 1:59:17 PM, you wrote:

N Am 11.05.2010, 13:47 Uhr, schrieb Adam GROSZER agros...@gmail.com:

 Hello Jim,

 Tuesday, May 11, 2010, 1:37:19 PM, you wrote:

 JF On Tue, May 11, 2010 at 7:13 AM, Adam GROSZER agros...@gmail.com  
 wrote:
 Hello Jim,

 Tuesday, May 11, 2010, 12:33:04 PM, you wrote:

 JF On Tue, May 11, 2010 at 3:16 AM, Adam GROSZER agros...@gmail.com  
 wrote:
 Hello Jim,

 Monday, May 10, 2010, 1:27:00 PM, you wrote:

 JF On Sun, May 9, 2010 at 4:59 PM, Roel Bruggink  
 r...@fourdigits.nl wrote:
 That's really interesting! Did you notice any issues performance  
 wise, or
 didn't you check that yet?

 JF I didn't check performance. I just iterated over a file storage  
 file,
 JF checking compressed and uncompressed pickle sizes.

 I'd say some checksum is then also needed to detect bit failures that
 mess up the compressed data.

 JF Why?

 I think the gzip algo compresses to a bit-stream, where even one bit
 has an error the rest of the uncompressed data might be a total mess.
 If that one bit is relatively early in the stream it's fatal.
 Salvaging the data is not a joy either.
 I know at this level we should expect that the OS and any underlying
 infrastructure should provide error-free data or fail.
 Tho I've seen some magic situations where the file copied without
 error through a network, but at the end CRC check failed on it :-O

 JF How would a checksum help?  All it would do is tell you your hosed.
 JF It wouldn't make you any less hosed.

 Yes, but I would know why it's hosed.
 Not like I'm expecting 2+2=4 and get 5 somewhere deep in the custom
 app that does some calculation.

N You could have bitflips anywhere in the database, not just the payload
N parts. You'd have to checksum and test everything all the time. Imo it's
N not worth the complexity and performance penalty given today's redundant
N storages like RAID, ZRS or zeoraid.

N Btw, the current pickle payload format is not secured against any bitflips
N either I think.

The difference between the uncompressed and compressed is that if you
have bitflips in an uncompressed data stream then you get let's say a
B instead of A, or 3 instead of 1. That hits hard in numbers/IDs, but
keeps string still human readable. Because the rest is still there.
In a compressed stream the rest of the pickle/payload would be
probably crap.
Probably that crappy data would make the unpickler fail... or wait a
second... the unpickler is a **SECURITY HOLE** in python, isn't it?
That means feed it some random data... and stay tuned for the
unexpected.
The thing is that a single bitflip could cause a LOT of crap.

You're right that currently there's no protection against such
bitflips, but I'd rather present the user a nice error than some
crappy data.

-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
If necessity is the mother of invention, discontent is the father of progress. 
- David Rockefeller 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Some interesting (to some:) numbers

2010-05-11 Thread Adam GROSZER
Hello Jim,



Tuesday, May 11, 2010, 4:46:46 PM, you wrote:

JF On Tue, May 11, 2010 at 7:47 AM, Adam GROSZER agros...@gmail.com wrote:
 Hello Jim,

 Tuesday, May 11, 2010, 1:37:19 PM, you wrote:

 JF On Tue, May 11, 2010 at 7:13 AM, Adam GROSZER agros...@gmail.com wrote:
 Hello Jim,

 Tuesday, May 11, 2010, 12:33:04 PM, you wrote:

 JF On Tue, May 11, 2010 at 3:16 AM, Adam GROSZER agros...@gmail.com 
 wrote:
 Hello Jim,

 Monday, May 10, 2010, 1:27:00 PM, you wrote:

 JF On Sun, May 9, 2010 at 4:59 PM, Roel Bruggink r...@fourdigits.nl 
 wrote:
 That's really interesting! Did you notice any issues performance wise, 
 or
 didn't you check that yet?

 JF I didn't check performance. I just iterated over a file storage file,
 JF checking compressed and uncompressed pickle sizes.

 I'd say some checksum is then also needed to detect bit failures that
 mess up the compressed data.

 JF Why?

 I think the gzip algo compresses to a bit-stream, where even one bit
 has an error the rest of the uncompressed data might be a total mess.
 If that one bit is relatively early in the stream it's fatal.
 Salvaging the data is not a joy either.
 I know at this level we should expect that the OS and any underlying
 infrastructure should provide error-free data or fail.
 Tho I've seen some magic situations where the file copied without
 error through a network, but at the end CRC check failed on it :-O

 JF How would a checksum help?  All it would do is tell you your hosed.
 JF It wouldn't make you any less hosed.

 Yes, but I would know why it's hosed.

JF How so?  How would you know why it is hosed.

Because of data corruption in the compressed stream.

JF Note BTW that the zlib format already includes a checksum.

JF   http://www.faqs.org/rfcs/rfc1950.html

I missed that. Case closed then ;-) Sorry for the noise.


-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
Some are atheists by neglect; others are so by affectation; they that think 
there is no God at some times do not think so at all times. 
- Benjamin Whichcote 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Using zodb and blobs

2010-04-15 Thread Adam GROSZER
Hello Christian,


Wednesday, April 14, 2010, 8:30:50 AM, you wrote:

CT I don't think the transfer rate is actually that interesting. For small
CT but many transactions the seek time/spinning speed should have the 
CT limiting influence.

CT I've run the attached script a couple of times on my notebook, here's 
CT the results:

CT 0.11 909.090909091
CT 0.15 666.7
CT 0.2 500.0
CT 0.07 1428.57142857
CT 0.07 1428.57142857
CT 0.14 714.285714286

CT The initial runs are a bit lower as they were interfered with by other
CT applications writing to the disk.

CT It's a notebook w/ Intel P9600, Seagate 7.2k SATA drive, 4GB RAM, Ubuntu
CT 10.04, linux 2.6.32, ext4

Something is wrong with the seek time.
Trying it on an Intel G1 80G SSD goes hardly over a 1000.
NB, P7400 3GB RAM, ubuntu 9.10, ext4

0.14 714.285714286
0.14 714.285714286
0.1 1000.0
0.14 714.285714286

Just for fun, it's flying on a tmpfs

0.36 2777.7778
0.37 2702.7027027
0.37 2702.7027027

Vmware makes it fly also:
with 1000 runs
on a 4GHz E8400, ubuntu 9.10, ext4 within VMware

0.24 4166.6667
0.33 3030.3030303
0.26 3846.15384615
0.31 3225.80645161
0.29 3448.27586207

in the VM tmpfs does not boost a lot:

0.2 5000.0
0.2 5000.0
0.2 5000.0
0.19 5263.15789474
0.19 5263.15789474


-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
People seem to enjoy things more when they know a lot of other people have been 
left out of the pleasure.  -  Russell Baker

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Checking the length of OOBTree

2010-04-08 Thread Adam GROSZER
Hello,

And have a look at
http://svn.zope.org/zope.container/trunk/src/zope/container/btree.py?rev=107468view=markup
for usage.

self.__len = Length()

Thursday, April 8, 2010, 5:41:04 PM, you wrote:

LR A BTree does not keep track of it's length. See BTrees.Length.Length:

LR http://apidoc.zope.org/++apidoc++/Code/BTrees/Length/Length/index.html

LR Laurence

LR On 8 April 2010 16:36, Leszek Syroka
LR leszek.marek.syr...@cern.ch wrote:
 Hi,

 what is the fastest way of checking the number of elements in OOBtree.
 Execution time of

 len( OOBtree.keys() ) and len(OOBtree)

 is exactly the same. For big data sets execution time is unacceptable. I
 found out that in the implementation of OOBtree (written in C) there is
 a variable called 'len', which seems to contain the length of the tree.
 Is it possible to access that variable from the python code without
 modifying the source?

 Best regards
 Leszek
 ___
 For more information about ZODB, see the ZODB Wiki:
 http://www.zope.org/Wikis/ZODB/

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

LR ___
LR For more information about ZODB, see the ZODB Wiki:
LR http://www.zope.org/Wikis/ZODB/

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


-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
The journey of a thousand miles begins with one step.  -  Lao-Tsze

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] cache-size-bytes problem

2010-03-26 Thread Adam GROSZER
Hello,

So far I know Hanno fixed that.
Any chance to get it released as 3.9.5?

-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
If you don't care where you are, then you ain't lost.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] Understanding the ZODB cache-size option

2010-03-23 Thread Adam GROSZER
Hello,

On top of that, be aware that those numbers 'cache-size' (or
cache-size-bytes) are for each connection. By default a Z3 ZODB can
have up to 7 connections in the pool. That means you might easily end
with 7 times the cache size set.

Most people tend to limit the number of connections too.

Monday, March 22, 2010, 8:01:30 PM, you wrote:

HS On Mon, Mar 22, 2010 at 7:05 PM, Jeff Shell j...@bottlerocket.net wrote:
 Are there any metrics about how to set the ZODB 'cache-size' (or 
 cache-size-bytes) option?
 We've been using '5000' (arbitrarily chosen) for our Zope 3.4-ish app 
 servers. We have access
 to zc.z3monitor which can output the number of objects in the object caches 
 (combined) and
 number of non-ghost objects in the object caches (combined).

 But I don't know understand how to interpret those numbers and use them to 
 make better
 settings.

HS ZODB cache size optimization is a typical case of black art. There's
HS no real good way to find the perfect number. I would advise against
HS using the cache-size-bytes option. There's a known critical problem
HS with it, that is currently only fixed on the 3.9 SVN branch. So stick
HS to the old object count cache-size for now.

HS But generally database caching is a trade-off between performance and
HS available RAM. As the upper limit, you could have your entire data set
HS in each ZODB cache. So you could look at the number of persistent
HS objects in the database and match your cache-size to that number.
HS That's usually not want you want.

HS As a real strategy, you should set up detailed monitoring of the
HS server. Monitor and graph overall RAM usage, RAM usage per Zope
HS process, number of DB loads and writes over time. Preferably include
HS some way of measuring application request performance and track CPU
HS and I/O usage on the server hosting the database.

HS If you have those numbers, you can play around with the cache setting
HS and increase it. See what impact it has on your application and data
HS set. At some point you run out of memory and need to decrease the
HS number or the increased cache size doesn't actually buy you any
HS application performance anymore.

HS For general Zope 3 application there are no rules of thumb that I
HS know. The dataset and load patterns of the applications are too
HS different to have any of those. It's affected a lot by the dataset and
HS if you use ZODB blobs or another mechanism to store large binary
HS content outside the DB. 5000 persistent objects including 1000 images
HS of 5mb each are obviously very different, than 1000 BTree buckets
HS containing only integers. One main advantage of blobs is that they
HS aren't loaded into the ZODB connection caches, so they lower the
HS memory requirements for applications with binary content a lot.

HS In the Plone context I generally use something like number of content
HS objects in the catalog + 5000 objects for the general application as
HS a starting point. But that has a lot of assumptions on the type of
HS content and the application in it.

HS Hanno
HS ___
HS For more information about ZODB, see the ZODB Wiki:
HS http://www.zope.org/Wikis/ZODB/

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


-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
You can't cross a chasm in two small jumps.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] redirect burps on unicode URLs

2010-02-25 Thread Adam GROSZER
Hello,

Looks like zope.publisher burps on unicode URL which contain non-ascii
chars. This is from a KGS 3.4 application, but looking at the source
it still seems to have the same problems.

opinions?

...
self.request.response.redirect(url)
  File 
d:\home\.buildout\eggs\zope.publisher-3.4.6-py2.5.egg\zope\publisher\browser.py,
 line
729, in redirect
return super(BrowserResponse, self).redirect(location, status)
  File 
d:\home\.buildout\eggs\zope.publisher-3.4.6-py2.5.egg\zope\publisher\http.py, 
line 882,
in redirect
self.setHeader('Location', location)
  File 
d:\home\.buildout\eggs\zope.publisher-3.4.6-py2.5.egg\zope\publisher\http.py, 
line 676,
in setHeader
value = str(value)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xd6' in position 
71: ordinal not in
range(128)

-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
Exasperation is the mind's way of spinning its wheels until patience restores 
traction. 
- George L. Griggs 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] ConnectionStateError from ZODB.Connection

2010-02-02 Thread Adam GROSZER
Hello,

Yah, eg. hooks.setSite(my-persistent-site) and no setSite(None).

Tuesday, February 2, 2010, 2:52:31 PM, you wrote:

JF On Tue, Feb 2, 2010 at 2:23 AM, Baiju M mba...@zeomega.com wrote:
 Hi,
     I am getting an error like this:
 Module ZODB.Connection, line 808, in setstate

 ConnectionStateError: Shouldn't load state for 0x0ba91e when the
 connection is closed

 Few details from ZMI:

 Zope Version         (Zope 2.11.3-final, python 2.4.6, linux2)
 Python Version       2.4.6 (#1, Jul  8 2009, 10:09:58)  [GCC 3.4.6
 20060404 (Red Hat 3.4.6-10)]
 System Platform      linux2
 Network Services     ZServer.HTTPServer.zhttp_server (Port: 6002)

 I can see recent commit (r106543) by Jim, is this related ?

 - A ZEO threading bug could cause transactions to read inconsistent
  data.  (This sometimes caused an AssertionError in
  Connection._setstate_noncurrent.)

JF No. Most likely, You're storing a persistent object in a global
JF variable and accessing it after
JF its connection has been closed.

JF Jim




-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
There is often less danger in the things we fear than in the things we desire. 
- John C. Collins 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] how to estimate cache size

2010-01-15 Thread Adam GROSZER
Hello,

There are some methods in PickleCache
That might be good for object count:
* __len__
* ringlen
which might be better to get the number of objects in the cache?

Is there any chance to estimate the current cache size in bytes?

Also I guess I need to add all connection's picklecache's object count
to get the total of objects in the cache, right?


-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
Instead of crying over spilt milk, go milk another cow.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] how to estimate cache size

2010-01-15 Thread Adam GROSZER
Yay! The answer to my object count question lies in zc.z3monitor.

But what about cache size in bytes?

Friday, January 15, 2010, 1:39:02 PM, you wrote:

AG Hello,

AG There are some methods in PickleCache
AG That might be good for object count:
AG * __len__
AG * ringlen
AG which might be better to get the number of objects in the cache?

AG Is there any chance to estimate the current cache size in bytes?

AG Also I guess I need to add all connection's picklecache's object count
AG to get the total of objects in the cache, right?




-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
Swipple's Rule of Order: He who shouts the loudest has the floor.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] relstorage - memcached - noSQL(?)

2009-11-25 Thread Adam GROSZER
Hello Shane,

This is some tinkering about whether/how it is possible to make a ZODB
storage that uses a simple kev-value database (KVDB) (e.g. tokyo tyrant).
A KVDB that is persistent on disk or even replicated should not be
less fault tolerant as MySQL.

As I see you got the caching right with memcached in relstorage. That
is also a step further on this direction.

Problems that I see:
- read/write separation: as the KVDB does not have transactions, reads
  should not overlap with writes. That should easily be possible with
  locking. (Yah, that does not make it so shiny anymore.)
  Either DB global or fine-grained on the oid level.
  That would maybe require a separate service that does the locking?

- loadBefore: it's a good question how to solve that easily/speedy without
  lots of requests to the KVDB with the KVDB's reduced set of
  features.

- performance: my fear is that getting this right could be slower as
  relstorage/ZEO. Because of the mismatches between the requirements of a
  ZODB storage and the features of the simple KVDB.

There is also an S3 storage out there, by Laurence:
http://code.google.com/p/s3storage/

Jim is working on zc.bsddbstorage, where BerkeleyDB should be
(sofar I see -- but never used it) also a (not that minimal) KVDB.



I'd like to personally chase these ideas, but I don't think I'll get
some time soon. Also I guess you have a deeper knowledge about
storages.

-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
Baseball is a skilled game.  It's America's game -- it, and high taxes.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] relstorage - memcached - noSQL(?)

2009-11-25 Thread Adam Groszer
Hey Shane,

Well, first feasibility. But I think it's doable. The question is how
much cruft it will require.
(I think on the high level a KVDB is a perfect match for a ZODB
backend. oid - pickle is the mapping. If it's oid_tid - pickle it's
still not bad.)
So if the story about a KVDB being superfast is true, that should
bring some speed.

I'd start with a single process multithreaded scaffolded something
with locally implemented locking, that should be rather easy to build
together from the various storages.
But still make sure with some dumb requests that the locking and other
left out features take their own time and benchmark this against the
other storages out there.
Then we'll see whether it's still worth chasing this.

- Reliability might be the next thing as (most) KVDBs seem to support
(some sort of) replication.
- Scalability is a tough question. First problem is the commit lock.
And the CAP theorem - I think a ZODB backend cannot get by without all
3 properties.
But about the latter two I did not think yet in depth and there are
just too many KVDBs out there to explore.

On Wed, Nov 25, 2009 at 2:29 PM, Shane Hathaway sh...@hathawaymix.org wrote:
 Adam GROSZER wrote:

 This is some tinkering about whether/how it is possible to make a ZODB
 storage that uses a simple kev-value database (KVDB) (e.g. tokyo tyrant).
 A KVDB that is persistent on disk or even replicated should not be
 less fault tolerant as MySQL.

 I don't quite understand.  What do you hope to accomplish with Tokyo Tyrant
 or some other key/value store as a ZODB backend?  Speed? Reliability?
  Scalability?

 I'd like to personally chase these ideas, but I don't think I'll get
 some time soon. Also I guess you have a deeper knowledge about
 storages.

 Well, I like to hear ideas, but I can't chase them all either.

 Shane




-- 
Best regards,
Adam
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] [OT] NoSQL

2009-11-13 Thread Adam GROSZER
Hello,

I think we can look at this at 2 levels.

1.: As your app uses ZODB. Then this is your app's
problem/reponsibility. You use a nosql contender directly from
your app and it's your responsibility to deal with it.

2.: On the ZODB Storage level. So far I can see that level needs
consistency, transactions and locking support. Those are usually
missing from nosql implementations (unless I miss some).
OTOH a key-value store would fit the ZODB storage.
If someone finds/writes a key-value storage that has the above
properties we could give it a try.

Thursday, November 12, 2009, 8:24:43 PM, you wrote:

SH Encolpe Degoute wrote:
 Is there someone in the ZODB development team following this:
 http://www.rackspacecloud.com/blog/2009/11/09/nosql-ecosystem/

SH It is possible that ZODB unfortunately occupies the same space as SQL in
SH the CAP triangle:

SH http://camelcase.blogspot.com/2007/08/cap-theorem.html

SH That is to say, ZODB applications require consistency and availability,
SH so if the CAP theorem is true, then ZODB applications can not be very 
SH partition-tolerant.

SH The NoSQL databases provide availability and partition tolerance while
SH foregoing absolute consistency.

SH Shane
SH ___
SH For more information about ZODB, see the ZODB Wiki:
SH http://www.zope.org/Wikis/ZODB/

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


-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
For a good time, call 836-3100.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


[ZODB-Dev] copy on write

2009-11-01 Thread Adam GROSZER
Hi Jim,

Have you seen Malthe's latest package that tries to implement a
persistency with copy on write?

( http://svn.repoze.org/dobbin/trunk )

Do you see any chance to do the same with the good old ZODB?

-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
It is a great mistake to suppose that God is only, or even chiefly, concerned 
with religion. 
- William Temple, Archbishop of Canterbury 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] CRC check failed when running repozo

2009-09-14 Thread Adam GROSZER
Hello,

+1 on that. Sometimes copy operations (over the network) screw up some
bits. Happens rarely but then it hits hard.

Monday, September 14, 2009, 10:13:39 AM, you wrote:

CT Hmm. Haven't seen that. My guess would be some low-level data corruption.

CT Christian



-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
People are boring unless they're extremists

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

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


Re: [ZODB-Dev] URGENT: ZODB down - Important Software Application at CERN

2009-05-26 Thread Adam GROSZER
Hello Jim,

Where's that certain size on the scale?

Tuesday, May 26, 2009, 3:35:56 PM, you wrote:

JF FileStorage indexes can't be saved after they reach a certain size,
JF where size roughly based on the number of objects.



-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com


___
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


Re: [ZODB-Dev] ZODB browse

2009-04-25 Thread Adam GROSZER
Hello Anurag,

This one might be some help:

svn://svn.zope.org/repos/main/z3c.zodbbrowser/trunk

Saturday, April 25, 2009, 12:14:17 PM, you wrote:

UAGH We are using ZODB [in Zenoss] and we would like to browse
UAGH Zenoss' ZODB schema. How can we do this? Also, how can we create
UAGH our own tables, etc? Any links, documentation? Thanks!
UAGH ___
UAGH For more information about ZODB, see the ZODB Wiki:
UAGH http://www.zope.org/Wikis/ZODB/

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

-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
Every time I think I know where it's at, they move it.

___
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


Re: [ZODB-Dev] error installing ZODB 3.9.0a12 with Python 2.6 on Windows

2009-04-03 Thread Adam GROSZER
Hello Chris,

You have a c compiler working on the machine?

Friday, April 3, 2009, 1:48:39 PM, you wrote:

CW Wichert Akkerman wrote:
 Any ideas?

 
 buildout hides all compile errors unless you run it with -v (or -vv).

CW buildout -vv didn't exactly provide much more help ;-)

CW C:\Python26\python.exe -c from setuptools.command.easy_install 
CW import main;
CW main() -mUNxd C:\buildout-eggs\tmpctofbd 
CW c:\docume~1\chris\locals~1\te
CW mp\tmpiks1grget_dist\ZODB3-3.9.0a11.tar.gz
CW path=c:\buildout-eggs\setuptools-0.6c9-py2.6.egg

CW Processing ZODB3-3.9.0a11.tar.gz
CW Running ZODB3-3.9.0a11\setup.py -q bdist_egg --dist-dir 
CW c:\docume~1\chris\locals
CW ~1\temp\easy_install-7amb3r\ZODB3-3.9.0a11\egg-dist-tmp-4eufhq
CW error: Setup script exited with error: None
CW An error occured when trying to install ZODB3 3.9.0a11.Look above this
CW message for any errors thatwere output by easy_install.
CW While:
CWInstalling zeoinstance.
CWGetting distribution for 'ZODB3==3.9.0a11'.
CW Error: Couldn't install: ZODB3 3.9.0a11

CW Is returning None from bdist_egg an error? If so, what does it mean?

CW Chris



-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
They that know God will be humble; they that know themselves cannot be proud. 
- John Flavel 

___
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


[ZODB-Dev] create unique container keys

2009-04-02 Thread Adam GROSZER
Hello,

What's a good practice to create unique container keys for a heavily
loaded application? (I mean lots of writes to the same container)
Obviously having a counter on the container and incrementing and using
that for key gives write conflicts.

What do the experts use?

thanks

-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
And the number one thing you'll never hear in an internet chat room:
1. Where have I been lately? Hey, some of us have a life, ya know! 

___
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


[ZODB-Dev] _p_oid

2009-04-01 Thread Adam GROSZER
Hello,

Does anyone know how _p_oid is generated?

I'm asking because we would like to use _p_oid as a unique key to
store BLOB-like files on the filesystem.
Of course more threads/processes/machines are in the picture.
So the question is once an object gets a _p_oid assigned, is it
guaranteed to be unique over all instances accessing the same DB?

thanks

-- 
Best regards,
 Adam GROSZER  mailto:agros...@gmail.com
--
Quote of the day:
It is the province of knowledge to speak, and its a privilege of wisdom to 
listen. 
- Oliver Wendell Homes 

___
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


Re: [ZODB-Dev] example for the following?

2009-01-22 Thread Adam GROSZER
Hello Jamie,

I would say to persist that object either you rewrite it in python,
(and use the persistent module)
or fiddle around the __getstate__ and __setstate__ methods.
Though no idea how you can get those working with your swig'ed
objects.

See: http://docs.python.org/library/pickle.html

Thursday, January 22, 2009, 5:46:08 PM, you wrote:

JM Hi,



JM I'm using ZODB in a desktop app (i.e. not using zope).




JM I have class A which contains a list of instances for class B.




JM I can persist class A when the list of class B is empty.  When i
JM add an instance of class B to the list (and set _p_changed = 1) i get the 
error:

JM TypeError: can't pickle PySwigObject objects




JM Can someone please give me a link of some advice in how i go
JM about persisting lists of class instances?




JM Thanks,




JM Jamie



JM  
JM ~~~

JM Jamie McQuay

JM Scimatic Software Inc.

JM www.scimatic.com 

JM  

JM We build software for scientists.


JM  





-- 
Best regards,
 Adam GROSZERmailto:agros...@gmail.com
--
Quote of the day:
You will feel hungry again in another hour.

___
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


Re: [ZODB-Dev] problem with broken

2008-11-05 Thread Adam GROSZER
Hello,

Thanks for the advices on the generation script, but I think the
problem lies in that the broken object is loaded fine but cannot be
written back again to ZODB.
Or do I misunderstand that broken is a sort of proxy for the missing
class that allows it to be around?

Wednesday, November 5, 2008, 11:31:21 AM, you wrote:

LR Broken objects occur when the class for a pickled object cannot be 
LR imported. To change the location of a class, you need to provide an 
LR alias at the old location so that the object can be unpickled, i.e. 
LR MyOldClassName = MyNewClassName. You can only remove MyOldClassName 
LR after you have updated all of the pickles (with your code below).

LR Laurence



LR Adam GROSZER wrote:
 Hello,
 
 I'm having a problem with broken objects here.
 It's coming when I'm trying to evolve generations and the generation
 just touches all objects in the ZODB to store them again with the
 non-deprecated classes.
 
 The code is like this:
 storage = context.connection._storage
 
 next_oid = None
 n = 0
 while True:
 oid, tid, data, next_oid = storage.record_iternext(next_oid)
 
 obj = context.connection.get(oid)
 # Make sure that we tell all objects that they have been changed. Who
 # cares whether it is true! :-)
 obj._p_activate()
 obj._p_changed = True
 
 if next_oid is None:
 break
 
 
 2008-11-04T19:40:16 ERROR SiteError 
 http://localhost:8080/++etc++process/@@generations.html
 Traceback (most recent call last):
   File F:\W\Zope3\src\zope\publisher\publish.py, line 133, in publish
 result = publication.callObject(request, obj)
 ...
   File F:\W\Zope3\src\zope\tal\talinterpreter.py, line 343, in interpret
 handlers[opcode](self, args)
   File F:\W\Zope3\src\zope\tal\talinterpreter.py, line 583, in 
 do_setLocal_tal
 self.engine.setLocal(name, self.engine.evaluateValue(expr))
   File F:\W\Zope3\src\zope\tales\tales.py, line 696, in evaluate
 return expression(self)
   File F:\W\Zope3\src\zope\tales\expressions.py, line 217, in __call__
 return self._eval(econtext)
   File F:\W\Zope3\src\zope\tales\expressions.py, line 211, in _eval
 return ob()
   File F:\W\Zope3\src\zope\app\generations\browser\managers.py, line 182, 
 in evolve
 transaction.commit()
   File F:\W\Zope3\src\transaction\_manager.py, line 93, in commit
 return self.get().commit()
   File F:\W\Zope3\src\transaction\_transaction.py, line 322, in commit
 self._commitResources()
   File F:\W\Zope3\src\transaction\_transaction.py, line 416, in 
 _commitResources
 rm.commit(self)
   File F:\W\Zope3\src\ZODB\Connection.py, line 541, in commit
 self._commit(transaction)
   File F:\W\Zope3\src\ZODB\Connection.py, line 586, in _commit
 self._store_objects(ObjectWriter(obj), transaction)
   File F:\W\Zope3\src\ZODB\Connection.py, line 620, in _store_objects
 p = writer.serialize(obj)  # This calls __getstate__ of obj
   File F:\W\Zope3\src\ZODB\serialize.py, line 405, in serialize
 meta = klass, newargs()
   File F:\W\Zope3\src\ZODB\broken.py, line 325, in __getnewargs__
 return self.__Broken_newargs__
 AttributeError: 'VocabularyManager' object has no attribute 
 '__Broken_newargs__'
 
 

LR ___
LR For more information about ZODB, see the ZODB Wiki:
LR http://www.zope.org/Wikis/ZODB/

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


-- 
Best regards,
 Adam GROSZERmailto:[EMAIL PROTECTED]
--
Quote of the day:
Every absurdity has a champion who will defend it.

___
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


Re: Hooking persistent.Persistent.__setstate__ was Re: [ZODB-Dev] Analyzing a ZODB.

2008-04-06 Thread Adam GROSZER
Hello Alan,

Sunday, April 6, 2008, 12:30:21 AM, you wrote:

AR Question:  Is it possible for ZODB 3.9 to have a pure python
AR implementation of persistent.Persistent?  Maybe this would be a good
AR ZODB GSOC project?

That would give some help to the Zope 3 components on Jython project
too ;-)

Maybe you should post that on [EMAIL PROTECTED]

btw, there is also a proposal on the GSoC list to further elaborate the
zodbbrowser.
svn://svn.zope.org/repos/main/z3c.zodbbrowser/sandbox/src/z3c/zodbbrowser
Any ideas welcome.

-- 
Best regards,
 Adam GROSZERmailto:[EMAIL PROTECTED]
--
Quote of the day:
The price of success is perseverance.  The price of failure comes cheaper. 
(Anonymous)

___
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


[ZODB-Dev] Re: [Zope3-dev] Re: Community opinion about search+filter

2007-03-28 Thread Adam Groszer
Hello,

Somehow relevant to the subject I just found an article on Wickert's
site:

http://www.wiggy.net/ , Using a seperate Data.fs for the catalog


-- 
Best regards,
 Groszer Adam
--
Quote of the day:
Keep your fears for yourself, but share your courage with others.
- Robert Louis Stevenson 

___
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


[ZODB-Dev] Community opinion about search+filter

2007-03-14 Thread Adam Groszer
Hello,

I'd like to ask your opinion, your experiences about searching and
filtering in quite large object DBs.
We need to add search and filter functions to our current app, where
the user might be able to create quite _sophisticated_ filter criterias.
(The app is a pure Z3 app, subject is document management)

Currently we're looking at something based on catalog/indexes.
As I checked the most comfortable solution would be based on
hurry.query.
Some questions arose:
- Is it necessary/worth adding indexes on all attributes?
- How does the index perform on modification and retrieval?

The biggest problem is that this will be our first try, so we're
missing experiences and are a bit puzzled about the right solution.
Certain is that moving to RDB is not an option.

Thanks,

-- 
Best regards,
 Adam  mailto:[EMAIL PROTECTED]

___
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


[ZODB-Dev] UnpickleableError

2007-03-08 Thread Adam Groszer
Hello,

Just run into a usual Cannot pickle type
'zope.security._proxy._Proxy' objects exception.

What about doing the following patch, that might help a lot
determining what cannot be pickled?

Index: serialize.py
===
--- serialize.py(revision 71248)
+++ serialize.py(working copy)
@@ -413,7 +413,13 @@
 self._file.seek(0)
 self._p.clear_memo()
 self._p.dump(classmeta)
-self._p.dump(state)
+try:
+self._p.dump(state)
+except Exception, msg:
+log = logging.getLogger(ZODB.serialize)
+log.exception(Pickling error: %s, classmeta: %s, str(msg), 
str(classmeta))
+raise
+
 self._file.truncate()
 return self._file.getvalue()
   

-- 
Best regards,
 Groszer Adam
--
Quote of the day:
Never close your lips to those to whom you have opened your heart. 
- Charles Dickens 

___
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


Re[2]: [ZODB-Dev] UnpickleableError

2007-03-08 Thread Adam Groszer
Hello Chris,

Actually that message is not quite helpful when trying to locate the
code which put that property there. There is almost zero context that
helps debugging. The traceback is worthless, because this happens in
the commit.
What helps at least for me a _lot_ is the parent object's class and
the parent object state. This data is present in the method just needs
to be printed.
The printing/logging method can be negotiated I found this way of logging
some lines below.

Thursday, March 8, 2007, 5:09:29 PM, you wrote:

CW Adam Groszer wrote:
 Hello,
 
 Just run into a usual Cannot pickle type
 'zope.security._proxy._Proxy' objects exception.

CW What does your patch give you that this error message doesn't?

 +try:
 +self._p.dump(state)
 +except Exception, msg:

CW it's logger msg, it's the exception object being caught.

 +log = logging.getLogger(ZODB.serialize)

CW Why get the logger here? get it in some global context.

CW Chris



-- 
Best regards,
 Groszer Adam
--
Quote of the day:
You auto buy now.

___
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


Re[4]: [ZODB-Dev] ZODB load/save tracing

2007-03-06 Thread Adam Groszer
Hello Win,

I think you'll have to write a script.
Have a look at
http://svn.zope.org/z3c.zodbbrowser/sandbox/src/z3c/zodbbrowser/
From plugin_fs.py you can extract how to open the ZODB without zope.
You can then traverse (access the properties) of the root and object
thereunder.

Matching an OODB with an RDB might not be a simple task as the OODB is
a tree or a graph of objects.

As Lennart already said on the list:
But the best way to export data from ZODB is to write a script which
outputs CSV values, which you then can import to MySQL.

(Note that ZODB is not a type of SQL database but an object oriented
database, and that a generic export therefore is not  possible, you
must write a dedicated script for your specific data set. This however
is usually quite easy).


Tuesday, March 6, 2007, 4:08:45 AM, you wrote:

WMA Hello Adam,

WMA I would like to request you to help me if possible. I am tryiny to 
WMA export contents (text data) of objects in ZODB. But I am a newbie and 
WMA no idea to do that. Could you please show some ways with exact 
WMA instruction? I am a bit hurry to do that.

WMA Thank you for your attention and time.

WMA Kind regards,

WMA Win Myint Aung
WMA Quoting Adam Groszer [EMAIL PROTECTED] on 03/06/07:

 Hello Christian,

 It's mostly done. Available at z3c.zodbtracing as inbetween I figured
 out that tracing the connection should be also possible.

 Saturday, February 24, 2007, 8:00:40 PM, you wrote:

 Hi,

 I'm pretty sure there are no hooks around that do what you need.

 The methods you want to tap into would be

 store()
 load*()

 on the storages.

 You might want to look into how the BlobStorage was created to make
 yourself a tracing storage that can be wrapped around an existing
 storage to allow usage with multiple other storages.

 This could be a useful extensions to ZODB. If you go this way,  I'd be
 happy to help out with some of the packaging mechanics and getting the
 ZConfig parts fletched out.

 Christian

 Am Samstag, den 24.02.2007, 14:33 +0100 schrieb Adam Groszer:
 Hello,

 I'm using ZODB in a GUI application, so outside of Zope.

 I'm having performance problems. I'm already on the way of figuring
 out what causes a lot of object load. getTransferCounts helped in
 that. But now I would need something more detailed.

 Are there any hooks or something to get detailed object load
 statistics?
 Worst case I could hook into some methods of ZODB temporarly to
 collect the data, but into which methods?

 Any help or pointers are welcome.




 --
 Best regards,
 Adammailto:[EMAIL PROTECTED]

 ___
 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


WMA Master Student-Information Management
WMA School of Engineering and Technology, AIT
WMA Klong Luang, Pathumthani 12120,
WMA Thailand
WMA Mail Box 1272




-- 
Best regards,
 Groszer Adammailto:[EMAIL PROTECTED]
--
Quote of the day:
Love is a matter of chemistry, but Sex is a matter of physics.

___
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


Re[2]: [ZODB-Dev] ZODB load/save tracing

2007-03-05 Thread Adam Groszer
Hello Christian,

It's mostly done. Available at z3c.zodbtracing as inbetween I figured
out that tracing the connection should be also possible.

Saturday, February 24, 2007, 8:00:40 PM, you wrote:

 Hi,

 I'm pretty sure there are no hooks around that do what you need.

 The methods you want to tap into would be

 store()
 load*()

 on the storages.

 You might want to look into how the BlobStorage was created to make
 yourself a tracing storage that can be wrapped around an existing
 storage to allow usage with multiple other storages.

 This could be a useful extensions to ZODB. If you go this way,  I'd be
 happy to help out with some of the packaging mechanics and getting the
 ZConfig parts fletched out.

 Christian

 Am Samstag, den 24.02.2007, 14:33 +0100 schrieb Adam Groszer:
 Hello,
 
 I'm using ZODB in a GUI application, so outside of Zope.
 
 I'm having performance problems. I'm already on the way of figuring
 out what causes a lot of object load. getTransferCounts helped in
 that. But now I would need something more detailed.
 
 Are there any hooks or something to get detailed object load
 statistics?
 Worst case I could hook into some methods of ZODB temporarly to
 collect the data, but into which methods?
 
 Any help or pointers are welcome.
 



-- 
Best regards,
 Adammailto:[EMAIL PROTECTED]

___
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


Re[4]: [ZODB-Dev] ZODB load/save tracing

2007-02-26 Thread Adam Groszer
Hello Jim,

What do you say,
One event type with parameters:
- method name
- method parameters
OR
Lots of event types  with parameters:
- method parameters

Sunday, February 25, 2007, 3:21:52 PM, you wrote:

 It might also be nice to have this generate events.  That is, the  
 tracing storage should call zope.event.notify.

 I intent in 3.8 or 3.9 to start having ZODB depend on zope.event.  We
 really should have used events rather than adding the callback's  
 we've added recently.

 Jim

 On Feb 25, 2007, at 3:19 AM, Adam Groszer wrote:

 Hello Christian,

 Gosh, that looks simple. A simple decorator pattern on the storage.

 So I shall create a branch, something like
 svn://svn.zope.org/repos/main/ZODB/branches/tracing-storage
 from
 svn://svn.zope.org/repos/main/ZODB/trunk
 and start there?

 Saturday, February 24, 2007, 8:00:40 PM, you wrote:

 Hi,

 I'm pretty sure there are no hooks around that do what you need.

 The methods you want to tap into would be

 store()
 load*()

 on the storages.

 You might want to look into how the BlobStorage was created to make
 yourself a tracing storage that can be wrapped around an existing
 storage to allow usage with multiple other storages.

 This could be a useful extensions to ZODB. If you go this way,   
 I'd be
 happy to help out with some of the packaging mechanics and getting  
 the
 ZConfig parts fletched out.

 Christian

 Am Samstag, den 24.02.2007, 14:33 +0100 schrieb Adam Groszer:
 Hello,

 I'm using ZODB in a GUI application, so outside of Zope.

 I'm having performance problems. I'm already on the way of figuring
 out what causes a lot of object load. getTransferCounts helped in
 that. But now I would need something more detailed.

 Are there any hooks or something to get detailed object load
 statistics?
 Worst case I could hook into some methods of ZODB temporarly to
 collect the data, but into which methods?

 Any help or pointers are welcome.



 -- 
 Best regards,
  Adammailto:[EMAIL PROTECTED]
 --
 Quote of the day:
 Faith is believing in things when common sense tells you not to.
 - George Seaton

 ___
 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

 --
 Jim Fulton  mailto:[EMAIL PROTECTED] Python 
 Powered!
 CTO (540) 361-1714  
 http://www.python.org
 Zope Corporationhttp://www.zope.com http://www.zope.org




-- 
Best regards,
 Adammailto:[EMAIL PROTECTED]
--
Quote of the day:
When you close your eyes to the devil, make sure that it is not a wink. 
- John C. Kulp 

___
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


Re[2]: [ZODB-Dev] ZODB load/save tracing

2007-02-25 Thread Adam Groszer
Hello Christian,

Gosh, that looks simple. A simple decorator pattern on the storage.

So I shall create a branch, something like
svn://svn.zope.org/repos/main/ZODB/branches/tracing-storage
from
svn://svn.zope.org/repos/main/ZODB/trunk
and start there?

Saturday, February 24, 2007, 8:00:40 PM, you wrote:

 Hi,

 I'm pretty sure there are no hooks around that do what you need.

 The methods you want to tap into would be

 store()
 load*()

 on the storages.

 You might want to look into how the BlobStorage was created to make
 yourself a tracing storage that can be wrapped around an existing
 storage to allow usage with multiple other storages.

 This could be a useful extensions to ZODB. If you go this way,  I'd be
 happy to help out with some of the packaging mechanics and getting the
 ZConfig parts fletched out.

 Christian

 Am Samstag, den 24.02.2007, 14:33 +0100 schrieb Adam Groszer:
 Hello,
 
 I'm using ZODB in a GUI application, so outside of Zope.
 
 I'm having performance problems. I'm already on the way of figuring
 out what causes a lot of object load. getTransferCounts helped in
 that. But now I would need something more detailed.
 
 Are there any hooks or something to get detailed object load
 statistics?
 Worst case I could hook into some methods of ZODB temporarly to
 collect the data, but into which methods?
 
 Any help or pointers are welcome.
 


-- 
Best regards,
 Adammailto:[EMAIL PROTECTED]
--
Quote of the day:
Faith is believing in things when common sense tells you not to. 
- George Seaton 

___
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


[ZODB-Dev] ZODB load/save tracing

2007-02-24 Thread Adam Groszer
Hello,

I'm using ZODB in a GUI application, so outside of Zope.

I'm having performance problems. I'm already on the way of figuring
out what causes a lot of object load. getTransferCounts helped in
that. But now I would need something more detailed.

Are there any hooks or something to get detailed object load
statistics?
Worst case I could hook into some methods of ZODB temporarly to
collect the data, but into which methods?

Any help or pointers are welcome.

-- 
Best regards,
 Groszer Adam
--
Quote of the day:
You cannot kill time without injuring eternity.

___
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


Re[2]: [ZODB-Dev] Commit Progress Indictor

2006-08-17 Thread Adam Groszer
Hello Tino,

Just trying to take the road with the least number of stones.
Obviously it is not worth to touch the ZODB internals.

Thursday, August 17, 2006, 1:59:19 PM, you wrote:

TW Jim Fulton schrieb:
TW ...
 
 I can put a fake progress indicator
 anytime that advances every second a bit and never reaches 100%.
 
 Good idea. :)

TW I fear this idea is already patented by Microso~1 ;)

TW Regards
TW Tino

-- 
Best regards,
 Groszer Adam
--
Quote of the day:
The probability that we may fail in the struggle ought not to deter us from the 
support of a cause we believe to be just. 
- Abraham Lincoln 

___
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


Re[2]: [ZODB-Dev] Commit Progress Indictor

2006-08-16 Thread Adam Groszer
Hello Dieter,

Do you think that's possible?
Any ideas or tips?

Monday, August 14, 2006, 7:09:51 PM, you wrote:

 Chris S wrote at 2006-8-14 11:06 -0400:
When commiting a transaction, is there any way to track the progress
of data commited?

 No, nobody has yet envisaged this use case...

I have a small gui app, and I'd like to display a
progress bar indicating the status of the commit.




-- 
Best regards,
 Adammailto:[EMAIL PROTECTED]
--
Quote of the day:
This fortune is inoperative.  Please try another.

___
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


Re[4]: [ZODB-Dev] Commit Progress Indictor

2006-08-16 Thread Adam Groszer
Hello Andreas,

Yep, you're right :-)
Are there any hooks in ZODB to support that or that should be a major
overhaul?

Wednesday, August 16, 2006, 11:03:54 AM, you wrote:


 --On 16. August 2006 10:52:51 +0200 Adam Groszer [EMAIL PROTECTED] wrote:

 Hello Dieter,

 Do you think that's possible?

 This is not the question. With some effort you can develop almost
 everything...you just have to find a volunteer and a budget :-)

 -aj


-- 
Best regards,
 Adammailto:[EMAIL PROTECTED]
--
Quote of the day:
It is astonishing how little one feels poverty when one loves. 
- John Bulwer 

___
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


Re[2]: [ZODB-Dev] What makes the ZODB slow?

2006-06-27 Thread Adam Groszer
Hello Tim,

Monday, June 26, 2006, 11:28:51 PM, you wrote:

[snip]
 AFAIK, nobody anywhere has used this yet, outside of Python's test
 suite.  It was intended to be a simple, cheap approach to cutting
 pickle bloat for apps motivated enough to set up the registry.  You'll
 note that half the one-byte codes are reserved for Zope :-)
[snip]

What about making this an option in my (z3) instance?
If I want to be compatible I leave it alone, if I want to be hell-fast
I turn it on?
-- 
Best regards,
 Adammailto:[EMAIL PROTECTED]
--
Quote of the day:
An ounce of mother is worth a ton of priest.  -  Proverb

___
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


Re[2]: [ZODB-Dev] Advice needed

2006-06-23 Thread Adam Groszer
Hi Andreas,

Thank you for your quick answer.

Friday, June 23, 2006, 2:36:56 PM, you wrote:


AJ --On 23. Juni 2006 14:27:52 +0200 Adam Groszer [EMAIL PROTECTED] wrote:

 Hi there,

 I know it is not easy, but I need some advices to keep our bosses
 happy at the planning stage of our application.

 The application we are planning is a document management application
 which follows documents in a company. Document and version count could
 be around 1s,

AJ 1s per document?

Sorry, around 1s of document, each having 10s of versions, so
around 100k versions/files. That grows to 300k objects or more with
all bells and whistles. (Version history, Workflow history, ...)

quite frequent writes are possible so concurrency
 might be an issue. Document files might be stored as BLOBs or
 separately on a files system to relieve ZODB.

 Some fears they are having and I can't find unambiguous information:
 - Is ZODB a good choice for this app? Which storage to consider?
 Filestorage?

AJ We run a CMS with several ZEO storages using FileStorage with up 300k 
AJ different objects per storage.

May you mention some or some sites on the internet that run Zope/ZODB
to have some examples?

maybe PGStorage?
 - ACID properties. Is it really ACID, I mean data consistency level
 could be compared to a RDB?

AJ What do you mean? The ZODB is transactional and other systems (RBDMS) can
AJ be hooked with the transaction system of Zope...this is daily practice.

My problem is that I'm quite confident that ZODB may be able to handle
the application, but I have to convince some other people too. They are
coming with a strong RDB background. I would appreciate some facts to
hit them hard.

Here we do not have any experience and the
 application should be a real good one.

 - Coming from the RDB world, what are our current choices to provide a
 referential integrity like service on top of ZODB?

AJ See above

AJ -aj


-- 
Best regards,
 Groszer Adam
--
Quote of the day:
Things turn out best for the people who make the best of the way things turn 
out. 
- Art Linkletter 

___
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