grizzly: swift ring replica count now adjustable

Bug #1095505 reported by Tom Fifield
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstack-manuals
Fix Released
High
Nermina Miller

Bug Description

If https://review.openstack.org/18562 is merged, the replica count of rings will become 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.

Tags: swift
Tom Fifield (fifieldt)
Changed in openstack-manuals:
milestone: none → grizzly
tags: added: swift
Revision history for this message
Tom Fifield (fifieldt) wrote :

patch review in progress

Revision history for this message
Tom Fifield (fifieldt) wrote :

patch review in progress

Revision history for this message
Tom Fifield (fifieldt) wrote :

patch marked WIP. May or may not make it to Grizzly.

Tom Fifield (fifieldt)
Changed in openstack-manuals:
status: New → Confirmed
importance: Undecided → Medium
Tom Fifield (fifieldt)
Changed in openstack-manuals:
importance: Medium → High
Tom Fifield (fifieldt)
Changed in openstack-manuals:
milestone: grizzly → havana
Changed in openstack-manuals:
assignee: nobody → Nermina Miller (nerminamiller)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-manuals (master)

Fix proposed to branch: master
Review: https://review.openstack.org/63515

Changed in openstack-manuals:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-manuals (master)

Reviewed: https://review.openstack.org/63515
Committed: https://git.openstack.org/cgit/openstack/openstack-manuals/commit/?id=ff03ca5c21a46878d49515042fa5e3b99d1f59cb
Submitter: Jenkins
Branch: master

commit ff03ca5c21a46878d49515042fa5e3b99d1f59cb
Author: nerminamiller <email address hidden>
Date: Fri Dec 20 15:44:49 2013 -0500

    Adds swift ring replica count adjustability to Cloud Admin Guide

    Added info on adjustability of ring replica counts to Object Storage section of Cloud Admin Guide

    Change-Id: I5c6580ef553ab01cd5e77bb68c7db00d8f6e3014
    backport: havana
    Closes-Bug: #1095505
    author: nermina miller

Changed in openstack-manuals:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/openstack-manuals 15.0.0

This issue was fixed in the openstack/openstack-manuals 15.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.