[Checkins] SVN: zope.server/trunk/s fix of 599 error on conflict error in request

Adam Groszer agroszer at gmail.com
Fri Feb 1 10:19:33 EST 2008


Log message for revision 83382:
  fix of 599 error on conflict error in request
  see: http://mail.zope.org/pipermail/zope-dev/2008-January/030844.html

Changed:
  U   zope.server/trunk/setup.py
  U   zope.server/trunk/src/zope/server/ftp/publisher.py

-=-
Modified: zope.server/trunk/setup.py
===================================================================
--- zope.server/trunk/setup.py	2008-02-01 15:08:00 UTC (rev 83381)
+++ zope.server/trunk/setup.py	2008-02-01 15:19:32 UTC (rev 83382)
@@ -30,10 +30,10 @@
       long_description=open('README.txt').read(),
 
       packages=find_packages('src'),
-	  package_dir = {'': 'src'},
+      package_dir = {'': 'src'},
 
       namespace_packages=['zope',],
-      
+
       tests_require = ['zope.testing',
                        'zope.i18n',
                        'zope.component'],
@@ -41,7 +41,8 @@
                           'zope.interface',
                           'zope.publisher',
                           'zope.security',
-                          'zope.deprecation'],
+                          'zope.deprecation',
+                          'ZODB3'],
       include_package_data = True,
       zip_safe = False,
       entry_points = """

Modified: zope.server/trunk/src/zope/server/ftp/publisher.py
===================================================================
--- zope.server/trunk/src/zope/server/ftp/publisher.py	2008-02-01 15:08:00 UTC (rev 83381)
+++ zope.server/trunk/src/zope/server/ftp/publisher.py	2008-02-01 15:19:32 UTC (rev 83382)
@@ -51,7 +51,7 @@
         return self._execute(path, 'ls', split=False, filter=filter)
 
     def readfile(self, path, outstream, start=0, end=None):
-        return self._execute(path, 'readfile', 
+        return self._execute(path, 'readfile',
                              outstream=outstream, start=start, end=end)
 
     def lsinfo(self, path):
@@ -108,9 +108,12 @@
 
         # Note that publish() calls close() on request, which deletes the
         # response from the request, so that we need to keep track of it.
-        response = request.response
-        publish(request)
-        return response.getResult()
+        # agroszer: 2008.feb.1.: currently the above seems not to be true
+        # request will KEEP the response on close()
+        # even more if a retry occurs in the publisher,
+        # the response will be LOST, so we must accept the returned request
+        request = publish(request)
+        return request.response.getResult()
 
     def _translate (self, path):
         # Normalize
@@ -144,4 +147,3 @@
 
     def open(self, credentials):
         return PublisherFileSystem(credentials, self.request_factory)
-



More information about the Checkins mailing list