[Neo-report] r2071 gregory - /trunk/neo/master/handlers/__init__.py

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


Author: gregory
Date: Wed May  5 18:48:26 2010
New Revision: 2071

Log:
Don't change a node after removal.

Modified:
    trunk/neo/master/handlers/__init__.py

Modified: trunk/neo/master/handlers/__init__.py
==============================================================================
--- trunk/neo/master/handlers/__init__.py [iso-8859-1] (original)
+++ trunk/neo/master/handlers/__init__.py [iso-8859-1] Wed May  5 18:48:26 2010
@@ -92,12 +92,13 @@
         assert node.getState() not in (NodeStates.TEMPORARILY_DOWN,
             NodeStates.DOWN, NodeStates.BROKEN), (dump(self.app.uuid),
             node.whoSetState(), new_state)
-        if new_state != NodeStates.BROKEN and node.isPending():
+        was_pending = node.isPending()
+        node.setState(new_state)
+        if new_state != NodeStates.BROKEN and was_pending:
             # was in pending state, so drop it from the node manager to forget
             # it and do not set in running state when it comes back
             logging.info('drop a pending node from the node manager')
             self.app.nm.remove(node)
-        node.setState(new_state)
         self.app.broadcastNodesInformation([node])
         # clean node related data in specialized handlers
         self.nodeLost(conn, node)





More information about the Neo-report mailing list