[Zope-dev] FW: Zope & optimistic transactions.

Chris McDonough chrism@zope.com
Fri, 30 Nov 2001 13:05:33 -0500


There won't be any more discussion about this issue from me.

- C


----- Original Message -----
From: "Clark OBrien" <COBrien@isis-server.vuse.vanderbilt.edu>
To: <zope-dev@zope.org>
Sent: Friday, November 30, 2001 12:48 PM
Subject: [Zope-dev] FW: Zope & optimistic transactions.


>
>
> >  -----Original Message-----
> > From: Clark OBrien
> > Sent: Monday, November 05, 2001 7:14 AM
> > To: 'chrism@zope.com'; 'k_vertigo@yahoo.com'
> > Cc: 'zope@zope.org'
> > Subject: Zope & optimistic transactions.
> >
> >
> > Chris,
> > I set up a test harness to exercise zopes optimistic transaction
> > management.
> > My test immediatly caused a ZODB exception.
> >
> > I am running zope 2.42. on win 2k, the scripts are attached.
> > Results below:
> >
> > As you recall I posed the following question:
> >
> > What if you had a directory structure like:
> > Folder1
> >     Folder-2
> >        Folder-3
> >           ...
> >             ..
> >                 Folder-n
> > Each folder had an attribute foo and there were two scripts,
script1 and
> > script2.
> > script1 modified foo on one Folder only while script2 traversed
all the
> > folders modifying the attribute foo on each one of them.
> > Would the script2 ever commit while the fist while script1 was
> > continuously called. This is interesting because a call to
script2 would
> > never finish before several calls to  script1 finished.
> >
> > I set up a simple test with only 10 folders. I then wrote the
script below
> > changeLevel2 that is my scri1 above and changeFolders that is my
script2
> > above.
> > I ran changeLevel2 in a loop using the following code:
>
> ----------------------------------------script----------------------
------
> > -------------------
> > import urllib
> > params = urllib.urlencode({'theText': 'Vitamin D'})
> > while 1:
> >  f = urllib.urlopen("http://localhost:8080/Test/changeLevel2?%s" %
params)
> >  print f.read()
>
> -----------------------------------------script---------------------
------
> > ---------------------
> >
> >
> > I then ran the script changeFolders from my browsers.
> > The result was the following error message:
> >
> > ------------------------------------------------------------
> > ZODB.POSException.ConflictError
> >
> > Sorry, a site error occurred.
> >
> > Traceback (innermost last):
> >   File C:\zope\lib\python\ZPublisher\Publish.py, line 223, in
> > publish_module
> >   File C:\zope\lib\python\ZPublisher\Publish.py, line 200, in
publish
> >   File C:\zope\lib\python\ZPublisher\Publish.py, line 200, in
publish
> >   File C:\zope\lib\python\ZPublisher\Publish.py, line 200, in
publish
> >   File C:\zope\lib\python\ZPublisher\Publish.py, line 195, in
publish
> > ----------------------------------------------------------
> >
> >
> >
> >  <<scripts.txt>>
>