[Neo-report] r2069 gregory - in /trunk/neo: storage/handlers/ tests/storage/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed May 5 18:48:02 CEST 2010


Author: gregory
Date: Wed May  5 18:48:01 2010
New Revision: 2069

Log:
Remove disconnected clients from storage's node manager.

Modified:
    trunk/neo/storage/handlers/client.py
    trunk/neo/tests/storage/testClientHandler.py

Modified: trunk/neo/storage/handlers/client.py
==============================================================================
--- trunk/neo/storage/handlers/client.py [iso-8859-1] (original)
+++ trunk/neo/storage/handlers/client.py [iso-8859-1] Wed May  5 18:48:01 2010
@@ -26,7 +26,11 @@
         return self.app.dm.getObject(oid, serial, tid)
 
     def connectionLost(self, conn, new_state):
-        self.app.tm.abortFor(conn.getUUID())
+        uuid = conn.getUUID()
+        self.app.tm.abortFor(uuid)
+        node = self.app.nm.getByUUID(uuid)
+        assert node is not None, conn
+        self.app.nm.remove(node)
 
     def abortTransaction(self, conn, tid):
         self.app.tm.abort(tid)

Modified: trunk/neo/tests/storage/testClientHandler.py
==============================================================================
--- trunk/neo/tests/storage/testClientHandler.py [iso-8859-1] (original)
+++ trunk/neo/tests/storage/testClientHandler.py [iso-8859-1] Wed May  5 18:48:01 2010
@@ -67,6 +67,7 @@
 
     def test_connectionLost(self):
         uuid = self.getNewUUID()
+        self.app.nm.createClient(uuid=uuid)
         conn = self._getConnection(uuid=uuid)
         self.operation.connectionClosed(conn)
         self._checkTransactionsAborted(uuid)





More information about the Neo-report mailing list