Re: [ZODB-Dev] Hanging ZEO-client hangs all other ZEO-clients?

2005-04-15 Thread Toby Dickenson
On Thursday 14 April 2005 20:23, Tim Peters wrote: > The size of the objects in the database has little to do with memory > consumed by a FileStorage pack; it's more the number of distinct object > revisions at work, since an in-memory object reachability graph is > constructed. I'm not sure how

Re: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Chris Withers
Tim Peters wrote: The non-zope client has logic that looks roughly like: for work in queue: try: get_transaction().begin() # do work, change zodb objects, etc get_transaction().commit() except ConflictError: get_transaction().abort() queue.append(work) except:

Re: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Christian Robottom Reis
On Fri, Apr 15, 2005 at 12:57:07PM +0100, Chris Withers wrote: > Okay, where in the above should I be calling sync()? > Where do I get sync from? get_transaction() doesn't have a synch attribute.. On the Connection, of course Take care, -- Christian Robottom Reis | http://async.com.br/~kiko/ | [

[ZODB-Dev] B-Tree Concurrency Issue (_OOBTree.pyd segfaults)

2005-04-15 Thread Gfeller Martin
Dear all, We're using ZOPE 2.7.3 with its default Python, ZEO, and ZODB versions under Windows 2000 Server SP3. This is a 2xXeon machine, but Python is bound to a single CPU. One of our(non-data.fs) ZODBs consists of a OOBTree with about 50,000 well-ordered tuple keys and Persistence.Persiste

Re: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Chris Withers
Christian Robottom Reis wrote: On Fri, Apr 15, 2005 at 12:57:07PM +0100, Chris Withers wrote: Okay, where in the above should I be calling sync()? Where do I get sync from? get_transaction() doesn't have a synch attribute.. On the Connection, of course And how do I get hold of the connection? Is

Re: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Christian Robottom Reis
On Fri, Apr 15, 2005 at 02:39:03PM +0100, Chris Withers wrote: > >>Okay, where in the above should I be calling sync()? > >>Where do I get sync from? get_transaction() doesn't have a synch > >>attribute.. > > > >On the Connection, of course > > And how do I get hold of the connection? Is that th

Re: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Chris Withers
Christian Robottom Reis wrote: It is the official way to call sync(), yes. I don't know how you do it in Zope, but the connection is what DB.open() returns, and is also attached to persisted objects as the _p_jar attribute. Hmm, does anyone know the "right" way to get this in Zope? If I do someobj.

__no_side_effects__, was Re: [ZODB-Dev] Re: [Zodb-checkins] SVN: ZODB/branches/3.4/

2005-04-15 Thread Paul Winkler
On Thu, Apr 14, 2005 at 10:56:16PM -0400, Tim Peters wrote: (snip) > ... I'd > reserve intense dislike for, e.g., __no_side_effects__ (remember that one?). Yes, I found it recently when I fixed a bug in ZopeUndo/Prefix.py. Does anything actually rely on that attribute, and what for? The only chec

Re: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Jeremy Hylton
On 4/15/05, Chris Withers <[EMAIL PROTECTED]> wrote: > > Short course: A ZEO client needs to run an asyncore mainloop if it wants to > > get invalidations processed "by magic". Alternatives include calling > > sync(), or closing and (re)opening the connection, at appropriate times. > > Hurm, thi

Re: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Chris Withers
Jeremy Hylton wrote: It's mentioned in the documentation -- see section 3.4 ZEO programming notes -- and it's been discussed on this list many, many times. Where are these notes? It sounds like the simplest approach for your application is to do like Zope and start a separate thread that runs an as

Re: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Jeremy Hylton
On 4/15/05, Chris Withers <[EMAIL PROTECTED]> wrote: > Jeremy Hylton wrote: > > > > It's mentioned in the documentation -- see section 3.4 ZEO programming > > notes -- and it's been discussed on this list many, many times. > > Where are these notes? In the ZODB & ZEO programming guide that's pack

RE: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Tim Peters
[Jeremy Hylton] >> It's mentioned in the documentation -- see section 3.4 ZEO programming >> notes -- and it's been discussed on this list many, many times. [Chris Withers] > Where are these notes? http://www.zope.org/Wikis/ZODB/FrontPage/guide/index.html Then click on section "3.4 ZEO Prog

RE: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Tim Peters
... [Chris Withers] >> I'd really prefer not to do that unless absolutely necessary: >> http://mail.zope.org/pipermail/zodb-dev/2004-June/007554.html [Jeremy Hylton] > It sounds like the answer here it so avoid fork, rather than asyncore. Good advice in general to avoid both <0.5 wink>. Still,

Re: [ZODB-Dev] ConflictErrors won't clear

2005-04-15 Thread Chris Withers
Jeremy Hylton wrote: If you don't run an asyncore mainloop, you'll be responsible for manually sync-ing all the storages/connections that asyncore would handle automatically. Tim guessed wrong ;-) Apart from the odd .sych() call on the various connections, what other housekeeping does this asynco

RE: [ZODB-Dev] B-Tree Concurrency Issue (_OOBTree.pyd segfaults)

2005-04-15 Thread Tim Peters
[Gfeller Martin] > We're using ZOPE 2.7.3 with its default Python, ZEO, and ZODB versions > under Windows 2000 Server SP3. This is a 2xXeon machine, but Python is > bound to a single CPU. So that's ZODB 3.2.4. I don't believe any _relevant_ ZODB bugs were fixed since then (ZODB 3.2.7 will be curr

RE: [ZODB-Dev] B-Tree Concurrency Issue (_OOBTree.pyd segfaults)

2005-04-15 Thread Tim Peters
Below is a self-contained program that reproduces both symptoms you described, although I had to use 3 threads to make them frequent. Typical output: filling 1 ... 100 200 300 400 500 600 ... ... 9600 9700 9800 9900 1 iteration 0 Exception in thread Thread-3:Traceback (most

[ZODB-Dev] Re: POSKeyError

2005-04-15 Thread Bob Horvath
Dieter Maurer wrote: > Tim Peters wrote at 2005-3-30 08:39 -0500: > >>... >>[Dieter Maurer] >> >>>The last packing bug was some time in the past. With current Zope >>>versions, there is no known packing bug. >> >>It's not that packing introduces new problems, it's that packing isn't an >>error rec