clarify code by separating accumulator into two counters
This commit is contained in:
@@ -363,22 +363,23 @@ class ObjectReplicator(Daemon):
|
|||||||
do_listdir=(self.replication_count % 10) == 0,
|
do_listdir=(self.replication_count % 10) == 0,
|
||||||
reclaim_age=self.reclaim_age)
|
reclaim_age=self.reclaim_age)
|
||||||
self.suffix_hash += hashed
|
self.suffix_hash += hashed
|
||||||
not_unmounted = 0
|
unmounted = 0
|
||||||
|
attempted = 0
|
||||||
nodes = itertools.chain(job['nodes'],
|
nodes = itertools.chain(job['nodes'],
|
||||||
self.object_ring.get_more_nodes(int(job['partition'])))
|
self.object_ring.get_more_nodes(int(job['partition'])))
|
||||||
while not_unmounted < (self.object_ring.replica_count - 1):
|
while (attempted - unmounted) < (self.object_ring.replica_count - 1):
|
||||||
node = next(nodes)
|
node = next(nodes)
|
||||||
not_unmounted += 1
|
attempted += 1
|
||||||
try:
|
try:
|
||||||
with Timeout(60):
|
with Timeout(60):
|
||||||
resp = http_connect(node['ip'], node['port'],
|
resp = http_connect(node['ip'], node['port'],
|
||||||
node['device'], job['partition'], 'REPLICATE',
|
node['device'], job['partition'], 'REPLICATE',
|
||||||
'', headers={'Content-Length': '0'}).getresponse()
|
'', headers={'Content-Length': '0'}).getresponse()
|
||||||
if resp.status == 507:
|
|
||||||
not_unmounted -= 1
|
|
||||||
if resp.status != 200:
|
if resp.status != 200:
|
||||||
self.logger.error("Invalid response %s from %s" %
|
self.logger.error("Invalid response %s from %s" %
|
||||||
(resp.status, node['ip']))
|
(resp.status, node['ip']))
|
||||||
|
if resp.status == 507:
|
||||||
|
unmounted += 1
|
||||||
continue
|
continue
|
||||||
remote_hash = pickle.loads(resp.read())
|
remote_hash = pickle.loads(resp.read())
|
||||||
del resp
|
del resp
|
||||||
|
Reference in New Issue
Block a user