[Neo-report] r2810 jm - /trunk/neo/client/app.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Aug 31 11:36:48 CEST 2011


Author: jm
Date: Wed Aug 31 11:36:48 2011
New Revision: 2810

Log:
client: small optimization in _handleConflicts

Modified:
    trunk/neo/client/app.py

Modified: trunk/neo/client/app.py
==============================================================================
--- trunk/neo/client/app.py [iso-8859-1] (original)
+++ trunk/neo/client/app.py [iso-8859-1] Wed Aug 31 11:36:48 2011
@@ -580,7 +580,6 @@ class Application(object):
             conflict_serial = max(conflict_serial_set)
             serial = object_serial_dict[oid]
             data = data_dict[oid]
-            resolved = False
             if ZERO_TID in conflict_serial_set:
                 # Storage refused us from taking object lock, to avoid a
                 # possible deadlock. TID is actually used for some kind of
@@ -610,7 +609,7 @@ class Application(object):
                         self._store(txn_context, store_oid, store_serial,
                             store_data, unlock=True)
                 else:
-                    resolved = True
+                    continue
             elif data is not None:
                 resolved_serial_set = resolved_conflict_serial_dict.setdefault(
                     oid, set())
@@ -632,22 +631,19 @@ class Application(object):
                     # Try to store again
                     self._store(txn_context, oid, conflict_serial, new_data)
                     append(oid)
-                    resolved = True
+                    continue
                 else:
                     neo.lib.logging.info('Conflict resolution failed for ' \
                         '%r:%r with %r', dump(oid), dump(serial),
                         dump(conflict_serial))
-            if not resolved:
-                # XXX: Is it really required to remove from data_dict ?
-                del data_dict[oid]
-                txn_context['data_list'].remove(oid)
-                if data is None:
-                    exc = ReadConflictError(oid=oid, serials=(conflict_serial,
-                        serial))
-                else:
-                    exc = ConflictError(oid=oid, serials=(txn_context['ttid'],
-                        serial), data=data)
-                raise exc
+            # XXX: Is it really required to remove from data_dict ?
+            del data_dict[oid]
+            txn_context['data_list'].remove(oid)
+            if data is None:
+                raise ReadConflictError(oid=oid, serials=(conflict_serial,
+                    serial))
+            raise ConflictError(oid=oid, serials=(txn_context['ttid'],
+                serial), data=data)
         return result
 
     @profiler_decorator




More information about the Neo-report mailing list