[Neo-report] r2680 jm - in /trunk/neo/admin: app.py handler.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Mar 22 11:27:07 CET 2011
Author: jm
Date: Tue Mar 22 11:27:07 2011
New Revision: 2680
Log:
admin: use 'boostrap' flag to discard partition changes received too early
This should fix the following random failure:
Traceback (most recent call last):
File "neo/tests/functional/__init__.py", line 140, in start
execfile(command, {"__name__": "__main__"})
File "./neoadmin", line 22, in <module>
main()
File "neo/scripts/neoadmin.py", line 66, in main
app.run()
File "neo/admin/app.py", line 103, in run
self.em.poll(1)
File "neo/lib/event.py", line 100, in poll
to_process.process()
File "neo/lib/connection.py", line 532, in process
self._handlers.handle(self, packet)
File "neo/lib/connection.py", line 158, in handle
self._handle(connection, packet)
File "neo/lib/connection.py", line 174, in _handle
handler.packetReceived(connection, packet)
File "neo/lib/handler.py", line 93, in packetReceived
self.dispatch(conn, packet)
File "neo/admin/handler.py", line 142, in dispatch
super(MasterEventHandler, self).dispatch(conn, packet)
File "neo/lib/handler.py", line 57, in dispatch
method(conn, *args)
File "neo/admin/handler.py", line 156, in sendPartitionTable
self.app.pt.load(ptid, row_list, self.app.nm)
File "neo/lib/pt.py", line 219, in load
assert node is not None
AssertionError
Modified:
trunk/neo/admin/app.py
trunk/neo/admin/handler.py
Modified: trunk/neo/admin/app.py
==============================================================================
--- trunk/neo/admin/app.py [iso-8859-1] (original)
+++ trunk/neo/admin/app.py [iso-8859-1] Tue Mar 22 11:27:07 2011
@@ -80,6 +80,7 @@ class Application(object):
registerLiveDebugger(on_log=self.log)
def reset(self):
+ self.bootstrapped = False
self.master_conn = None
self.master_node = None
Modified: trunk/neo/admin/handler.py
==============================================================================
--- trunk/neo/admin/handler.py [iso-8859-1] (original)
+++ trunk/neo/admin/handler.py [iso-8859-1] Tue Mar 22 11:27:07 2011
@@ -146,10 +146,12 @@ class MasterEventHandler(EventHandler):
neo.lib.logging.debug("answerNodeInformation")
def notifyPartitionChanges(self, conn, ptid, cell_list):
- self.app.pt.update(ptid, cell_list, self.app.nm)
+ if self.app.bootstrapped:
+ self.app.pt.update(ptid, cell_list, self.app.nm)
def answerPartitionTable(self, conn, ptid, row_list):
self.app.pt.load(ptid, row_list, self.app.nm)
+ self.app.bootstrapped = True
def sendPartitionTable(self, conn, ptid, row_list):
self.app.pt.load(ptid, row_list, self.app.nm)
More information about the Neo-report
mailing list