Commit 7a9b7994 authored by Vincent Pelletier's avatar Vincent Pelletier

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.

git-svn-id: https://svn.erp5.org/repos/neo/trunk@2336 71dcc9de-d417-0410-9af5-da40c76e7ee4
parent f0c723f7
...@@ -119,9 +119,6 @@ RC - Review output of pylint (CODE) ...@@ -119,9 +119,6 @@ RC - Review output of pylint (CODE)
- Prevent from SQL injection, escape() from MySQLdb api is not sufficient, - Prevent from SQL injection, escape() from MySQLdb api is not sufficient,
consider using query(request, args) instead of query(request % args) consider using query(request, args) instead of query(request % args)
- Create database adapter for other RDBMS (sqlite, postgres) - 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 - Make listening address and port optionnal, and if they are not provided
listen on all interfaces on any available port. listen on all interfaces on any available port.
- Replication throttling (HIGH AVAILABILITY) - Replication throttling (HIGH AVAILABILITY)
......
...@@ -1000,8 +1000,7 @@ class Application(object): ...@@ -1000,8 +1000,7 @@ class Application(object):
conn.ask(Packets.AskTIDs(first, last, INVALID_PARTITION), queue=queue) conn.ask(Packets.AskTIDs(first, last, INVALID_PARTITION), queue=queue)
# Wait for answers from all storages. # Wait for answers from all storages.
while len(self.local_var.node_tids) != len(storage_node_list): self.waitResponses()
self._waitAnyMessage()
# Reorder tids # Reorder tids
ordered_tids = set() ordered_tids = set()
......
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