[Swift] Swift 2.2.2 released today
Everyone,
I'm happy to announce that today we have release Swift 2.2.2. (Yes, that's 2.2.2 on 2/2.) This release has a few very important features that came directly from production clusters. I recommend that you upgrade so you can take advantage of the new goodness.
As always, you can upgrade to this version of Swift with zero end-user downtime.
So what's so great in this release? Below are some highlights, but please read the full changelog at https://github.com/openstack/swift/blob/master/CHANGELOG
* Data placement changes
This release has several major changes to data placement in Swift in order to better handle different deployment patterns. First, with an unbalance-able ring, less partitions will move if the movement doesn't result in any better dispersion across failure domains. Also, empty (partition weight of zero) devices will no longer keep partitions after rebalancing when there is an unbalance-able ring.
Second, the notion of "overload" has been added to Swift's rings. This allows devices to take some extra partitions (more than would normally be allowed by the device weight) so that smaller and unbalanced clusters will have less data movement between servers, zones, or regions if there is a failure in the cluster.
Finally, rings have a new metric called "dispersion". This is the percentage of partitions in the ring that have too many replicas in a particular failure domain. For example, if you have three servers in a cluster but two replicas for a partition get placed onto the same server, that partition will count towards the dispersion metric. A lower value is better, and the value can be used to find the proper value for "overload".
The overload and dispersion metrics have been exposed in the swift-ring-build CLI tools.
See http://swift.openstack.org/overview_ring.html for more info on how data placement works now.
* Improve container replication for large, out-of-date containers
* Added console logging to swift-drive-audit
* Changed retaliating to support whitelisting and blacklisting based on account metadata (sysmeta). Note that the existing config options continue to work.
This release is the combined work of 20 developers, including 3 first-time Swift contributors:
* Harshit Chitalia * Dhriti Shikhar * Nicolas Trangez
Thank you to everyone who contributed: developers, support staff, and operators alike--all of whom helped find and diagnose the problems solved in this release.
--John
participants (1)
-
John Dickinson