Commit 42128130 authored by Grégory Wisniewski's avatar Grégory Wisniewski

When a storage is lost, Trigger finish only for prepared transactions.

git-svn-id: https://svn.erp5.org/repos/neo/trunk@2184 71dcc9de-d417-0410-9af5-da40c76e7ee4
parent ccc9c451
......@@ -43,7 +43,11 @@ class StorageServiceHandler(BaseServiceHandler):
self.app.outdateAndBroadcastPartition()
uuid = conn.getUUID()
for tid, transaction in self.app.tm.items():
if transaction.forget(uuid):
# If this transaction was not "prepared" (see askFinishTransaction)
# there is nothing to cleanup on it (it doesn't have the list of
# involved storage nodes yet). As such transaction would be detected
# as locked, we must also prevent _afterLock from being called.
if transaction.isPrepared() and transaction.forget(uuid):
self._afterLock(tid)
def askLastIDs(self, conn):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment