Commit 3b9b7979 authored by Grégory Wisniewski's avatar Grégory Wisniewski

Move a FIXME to the TODO list.


git-svn-id: https://svn.erp5.org/repos/neo/branches/prototype3@1134 71dcc9de-d417-0410-9af5-da40c76e7ee4
parent ea3539cd
......@@ -121,6 +121,8 @@ RC - Review output of pylint (CODE)
When a storage asks for current partition table (when it connects to a cluster in service state), it must update its knowledge of the partition table. Currently it's done by fetching the entire table. If the master keeps a history of a few last changes to partition table, it would be able to only send a differential update (via the incremental update mechanism)
- During recovery phase, store multiple partition tables (ADMINISTATION)
When storage nodes know different version of the partition table, the master should be abdle to present them to admin to allow him to choose one when moving on to next phase.
- Optimize operational status check by recording which rows are ready
instead of parsing the whole partition table. (SPEED)
Client
- Client should prefer storage nodes it's already connected to when retrieving objects (LOAD LATENCY)
......
......@@ -249,14 +249,9 @@ class PartitionTable(object):
logging.debug('pt: %08d: %s', offset - len(line) + 1,
'|'.join(line))
def operational(self):
if not self.filled():
return False
# FIXME it is better to optimize this code, as this could be extremely
# slow. The possible fix is to have a handler to notify a change on
# a node state, and record which rows are ready.
for row in self.partition_list:
for cell in row:
if cell.getState() in (protocol.UP_TO_DATE_STATE, \
......@@ -265,7 +260,6 @@ class PartitionTable(object):
break
else:
return False
return True
def getRow(self, offset):
......
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