commit 7fe0c6c695364c4c1226d89175ec0fd91e15ec58
Author: Samuel Merritt <email address hidden>
Date: Tue Feb 28 18:25:14 2012 -0800
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.
Reviewed: https:/ /review. openstack. org/4710 github. com/openstack/ swift/commit/ 7fe0c6c695364c4 c1226d89175ec0f d91e15ec58
Committed: http://
Submitter: Jenkins
Branch: master
commit 7fe0c6c695364c4 c1226d89175ec0f d91e15ec58
Author: Samuel Merritt <email address hidden>
Date: Tue Feb 28 18:25:14 2012 -0800
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: I0d399bed5d7334 48ad877fa2823b5 42777d385a4