swift/swift
Samuel Merritt 7fe0c6c695 Fix rebalancing when 2+ of a partition's replicas are on deleted devices.
RingBuilder._reassign_parts assumed that only replica for a given
partition would move. This isn't necessarily true in the case where a
bunch of devices have been removed. This would leave invalid entries
in _replica2part2dev and also cause validation to fail.

One easy way to reproduce this is to create a 3-replica, 3-zone,
6-device ring with 2 drives per zone (all of equal weight), rebalance,
and then remove one drive from each zone and rebalance again.

Bug: 943493

Change-Id: I0d399bed5d733448ad877fa2823b542777d385a4
2012-02-29 11:30:08 -08:00
..
account Added logging to start and end of audit passes. 2012-02-23 08:01:21 -08:00
common Fix rebalancing when 2+ of a partition's replicas are on deleted devices. 2012-02-29 11:30:08 -08:00
container Added logging to start and end of audit passes. 2012-02-23 08:01:21 -08:00
obj Prevent a possible divide by 0 in obj/auditor.py. 2012-02-27 02:44:27 +00:00
proxy Fix bug regarding negative Content-Length headers. 2012-01-31 16:58:00 +00:00
__init__.py 1.4.7 version bump 2012-02-08 15:42:42 -06:00