[Openstack-docs] [openstack/swift] DocImpact review request change I12b34dacf60350a297a46be493d5d171580243ff

gerrit2 at review.openstack.org gerrit2 at review.openstack.org
Fri Dec 21 19:52:46 UTC 2012


Hi, I'd like you to take a look at this patch for potential
DocImpact.
https://review.openstack.org/18562

Log:
commit b3ec9936c0b72e9870265a5a2475b9e715e88c43
Author: Samuel Merritt <sam at swiftstack.com>
Date:   Fri Nov 9 10:32:07 2012 -0800

    Make rings' replica counts adjustable.
    
    Example:
    
    $ swift-ring-builder account.builder set_replicas 4
    $ swift-ring-builder rebalance
    
    This is a prerequisite for supporting globally-distributed clusters,
    as operators of such clusters will probably want at least as many
    replicas as they have regions. Therefore, adding a region requires
    adding a replica. Similarly, removing a region lets an operator remove
    a replica and save some money on disks.
    
    In order to not hose clusters with lots of data, swift-ring-builder
    now allows for setting of fractional replicas. Thus, one can gradually
    increase the replica count at a rate that does not adversely affect
    cluster performance.
    
    Example:
    
    $ swift-ring-builder object.builder set_replicas 3.01
    $ swift-ring-builder object.builder rebalance
    <distribute rings and wait>
    
    $ swift-ring-builder object.builder set_replicas 3.02
    $ swift-ring-builder object.builder rebalance
    <distribute rings and wait>...
    
    Obviously, fractional replicas are nonsensical for a single
    partition. A fractional replica count is for the whole ring, not for
    any individual partition, and indicates the average number of replicas
    of each partition. For example, a replica count of 3.2 means that 20%
    of partitions have 4 replicas and 80% have 3 replicas.
    
    Changes do not take effect until after the ring is rebalanced. Thus,
    if you mean to go from 3 replicas to 3.01 but you accidentally type
    2.01, no data is lost.
    
    Additionally, 'swift-ring-builder X.builder create' can now take a
    decimal argument for the number of replicas.
    
    DocImpact
    
    Change-Id: I12b34dacf60350a297a46be493d5d171580243ff




More information about the Openstack-docs mailing list