[Neo-report] r2336 vincent - in /trunk: TODO neo/client/app.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Oct 1 17:59:27 CEST 2010
Author: vincent
Date: Fri Oct 1 17:59:26 2010
New Revision: 2336
Log:
Use waitResponses to wait for all pending responses for current thread.
This fixes a potential bug triggered by a storage disconnecting while this
loop would be running, expecting answers from that storage: this would
prevent this loop from ever exiting.
Modified:
trunk/TODO
trunk/neo/client/app.py
Modified: trunk/TODO
==============================================================================
--- trunk/TODO [iso-8859-1] (original)
+++ trunk/TODO [iso-8859-1] Fri Oct 1 17:59:26 2010
@@ -119,9 +119,6 @@ RC - Review output of pylint (CODE)
- Prevent from SQL injection, escape() from MySQLdb api is not sufficient,
consider using query(request, args) instead of query(request % args)
- Create database adapter for other RDBMS (sqlite, postgres)
- - fix __undoLog when there is out of date cells, there is a busy loop
- because the client expected more answer than the available number of
- storage nodes.
- Make listening address and port optionnal, and if they are not provided
listen on all interfaces on any available port.
- Replication throttling (HIGH AVAILABILITY)
Modified: trunk/neo/client/app.py
==============================================================================
--- trunk/neo/client/app.py [iso-8859-1] (original)
+++ trunk/neo/client/app.py [iso-8859-1] Fri Oct 1 17:59:26 2010
@@ -1000,8 +1000,7 @@ class Application(object):
conn.ask(Packets.AskTIDs(first, last, INVALID_PARTITION), queue=queue)
# Wait for answers from all storages.
- while len(self.local_var.node_tids) != len(storage_node_list):
- self._waitAnyMessage()
+ self.waitResponses()
# Reorder tids
ordered_tids = set()
More information about the Neo-report
mailing list