Comment 2 for bug 943493

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (master)

Reviewed: https://review.openstack.org/4710
Committed: http://github.com/openstack/swift/commit/7fe0c6c695364c4c1226d89175ec0fd91e15ec58
Submitter: Jenkins
Branch: master

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.

    Bug: 943493

    Change-Id: I0d399bed5d733448ad877fa2823b542777d385a4