[Zope-dev] FW: Zope optimistic transactions.
-Original Message- From: Clark OBrien Sent: Monday, November 05, 2001 7:14 AM To: '[EMAIL PROTECTED]'; '[EMAIL PROTECTED]' Cc: '[EMAIL PROTECTED]' 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 -changeFolder -- #changeFolder #params list: theFolder,theText theFolder.manage_changeProperties({'foo':theText}) --end changeFolder--- ---changeFolders-- #changeFolders #Paramater list: myString # this method changes the attribute foo on several folders. newFolder = context.getChild(TestFolder ) newFolder.manage_changeProperties({'foo':myString}) import string for i in range(1,10): newFolder = newFolder.getChild(TestFolder ) for i in range(1,10): # lets do something expansive #for j in range(1,100): #string.find(its a great day to code python,day) newFolder.manage_changeProperties({'foo':myString}) return all properties changed --end changeFolders -changeLevel2 #changeLevel2 #paramater list: theText theFolder = context.getChild(TestFolder ) context.changeFolder(theFolder,theText) return 'ok' -end changeLevel2 -createFolders--- temp = context.manage_addFolder('TestFolder','TestFolder') newFolder = context.getChild(TestFolder ) newFolder.manage_addProperty(foo,this is a test string, string) for i in range(1,10): newFolder.manage_addFolder(TestFolder,TestFolder) newFolder = newFolder.getChild(TestFolder ) newFolder.manage_addProperty(foo,this is a test string, string) end createFolders --- -getChild--- #getChild #param list: child getChild: Utility function Returns ObjectManagerItem whose ID matches child parameter. Context must be ObjectManager. for (oid, obj) in context.objectItems(): if oid == child: return obj else: return None end getChild - makeNewFolder- #makeNewFolder #param list: root root.manage_addFolder('TestFolder','TestFolder') root.manage_addProperty('foo','The world is round only to those who know
Re: [Zope-dev] FW: Zope optimistic transactions.
There won't be any more discussion about this issue from me. - C - Original Message - From: Clark OBrien [EMAIL PROTECTED] To: [EMAIL PROTECTED] 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: '[EMAIL PROTECTED]'; '[EMAIL PROTECTED]' Cc: '[EMAIL PROTECTED]' 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 ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] FW: Zope optimistic transactions.
Dude, it's not a bug. You're *meant* to get a ConflictError exception when writes conflict. That signals the publisher to retry. Search on zope.org for conflict resolution. Regards, seb * Clark O'Brien [EMAIL PROTECTED] [011130 18:05]: That was not the point dude. Your cowardly call for a response from the intellectual prostitutes on this list leaves me uninterested in anything you may have to say. Over and Out Clark --- Chris McDonough [EMAIL PROTECTED] wrote: There won't be any more discussion about this issue from me. - C - Original Message - From: Clark OBrien [EMAIL PROTECTED] To: [EMAIL PROTECTED] 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: '[EMAIL PROTECTED]'; '[EMAIL PROTECTED]' Cc: '[EMAIL PROTECTED]' 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:zopelibpythonZPublisherPublish.py, line 223, in publish_module File C:zopelibpythonZPublisherPublish.py, line 200, in publish File C:zopelibpythonZPublisherPublish.py, line 200, in publish File C:zopelibpythonZPublisherPublish.py, line 200, in publish File C:zopelibpythonZPublisherPublish.py, line 195, in publish -- scripts.txt ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) __ Do You Yahoo!? Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month. http://geocities.yahoo.com/ps/info1 ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) -- [] j a m k i t seb bacon T: 020 7749 7218 F: 020 7739 8683 M: 07968 301 336 W: www.jamkit.com ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] FW: Zope optimistic transactions.
He he, Another classic Withers-style measured response ;-) Easy on those flames, dude...Everyone move along now, there's nothing to see here... seb * Chris Withers [EMAIL PROTECTED] [011130 18:19]: Clark O'Brien wrote: That was not the point dude. Your cowardly call for a response from the intellectual prostitutes on this list leaves me uninterested in anything you may have to say. Excuse me, what the FUCK is your problem 'dude'? You obviously have no fucking clue. Kindly piss off and grow up. That's about the sum total of anything useful I can say in response to your postings so far... Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) -- [] j a m k i t seb bacon T: 020 7749 7218 F: 020 7739 8683 M: 07968 301 336 W: www.jamkit.com ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] FW: Zope optimistic transactions.
seb bacon wrote: He he, Another classic Withers-style measured response ;-) *vbg* Let him justify his space in my inbox ;-) Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )