[release-announce] [swift] swift 2.10.2 (newton)
no-reply at openstack.org
no-reply at openstack.org
Wed May 31 22:48:54 UTC 2017
We are thrilled to announce the release of:
swift 2.10.2: OpenStack Object Storage
This release is part of the newton stable release series.
Download the package from:
https://tarballs.openstack.org/swift/
For more details, please see below.
2.10.2
^^^^^^
Bug Fixes
* Improvements in key parts of the consistency engine - Optimized
the common case for hashing filesystem trees, thus
eliminating a lot of extraneous disk I/O.
* Updated the *hashes.pkl* file format to include timestamp
information for race detection. Also simplified hashing logic to
prevent race conditions and optimize for the common case.
Upgrade Impact: If you upgrade and roll back, you must delete all
*hashes.pkl* files.
* If using erasure coding with ISA-L in rs_vand mode and 5 or more
parity fragments, Swift will emit a warning. This is a configuration
that is known to harm data durability. In a future release, this
warning will be upgraded to an error unless the policy is marked as
deprecated. All data in an erasure code storage policy using
isa_l_rs_vand with 5 or more parity should be migrated as soon as
possible. Please see https://bugs.launchpad.net/swift/+bug/1639691
for more information.
* Fixed a bug where the ring builder would not allow removal of a
device when min_part_seconds_left was greater than zero.
* PUT subrequests generated from a client-side COPY will now
properly log the SSC (server-side copy) Swift source field. See
https://docs.openstack.org/developer/swift/logs.html#swift-source
for more information.
* Rings with min_part_hours set to zero will now only move one
partition replica per rebalance, thus matching behavior when
min_part_hours is greater than zero.
* Correctly send 412 Precondition Failed if a user sends an invalid
copy destination. Previously Swift would send a 500 Internal Server
Error.
* Fixed error where a container drive error resulted in double space
usage on rest drives. When drive with container or account database
is unmounted, the bug would create handoff replicas on all remaining
drives, increasing the drive space used and filling the cluster.
* Account and container databases will now be quarantined if the
database schema has been corrupted.
* Ensure update of the container by object-updater, removing a rare
possibility that objects would never be added to a container
listing.
* Fixed some minor test compatibility issues.
* Updated docs to reference appropriate ports.
Changes in swift 2.10.1..2.10.2
-------------------------------
f860faf changelog for 2.10.2 release
d794179 Fix unit tests on i386 and other archs
aad02ad Fix race when consolidating new partition
fac6e09 Open-code eventlet.listen()
a1f263c Better optimistic lock in get_hashes
80f550f Container drive error results double space usage on rest drives
faa6890 Log the correct request type of a subrequest downstream of copy
f59a737 Correctly send 412 Precondition Failed in copy middleware
41d90db Fix timing test error when rebalancing
735c99f More port number cleanup
5c7988b Ensure update of the container by object-updater
a047516 Fix port ranges in install guide
bd75a97 Warn about using EC with isa_l_rs_vand and nparity >= 5
054ee3d Fix race in new partitions detecting new/invalid suffixes.
dd3a749 Simplify get_different_suffix_df args
a4c1b3e Optimize noop case for suffix rehash
de7348b Extract test pattern to helper
9c8c7e8 Rebalance with min_part_seconds_left > 0
e5dd050 For any part, only one replica can move in a rebalance
ea1ecf3 Quarantine malformed database schema SQLite errors
Diffstat (except docs and test files)
-------------------------------------
CHANGELOG | 53 ++
.../samples/endpoints-list-response-headers.json | 14 +-
.../source/samples/endpoints-list-response.json | 6 +-
install-guide/source/initial-rings.rst | 84 +--
install-guide/source/storage-include1.txt | 2 +-
install-guide/source/storage-include2.txt | 2 +-
install-guide/source/storage-include3.txt | 2 +-
.../notes/2_10_2_release-eb9abaa82fcc8ebc.yaml | 61 +++
swift/cli/ringbuilder.py | 17 +-
swift/common/db.py | 2 +
swift/common/db_replicator.py | 10 +-
swift/common/middleware/copy.py | 36 +-
swift/common/ring/builder.py | 36 +-
swift/common/storage_policy.py | 22 +
swift/common/wsgi.py | 3 +-
swift/obj/diskfile.py | 157 +++---
swift/obj/updater.py | 12 +-
test/__init__.py | 15 +
test/functional/__init__.py | 16 +-
test/probe/test_object_async_update.py | 61 +++
test/unit/cli/test_ringbuilder.py | 56 ++
test/unit/common/malformed_schema_example.db | Bin 0 -> 49152 bytes
test/unit/common/middleware/test_account_quotas.py | 8 +-
test/unit/common/middleware/test_copy.py | 75 ++-
test/unit/common/middleware/test_quotas.py | 7 +-
.../common/middleware/test_subrequest_logging.py | 178 ++++++
test/unit/common/ring/test_builder.py | 29 +-
test/unit/common/ring/test_utils.py | 11 +-
test/unit/common/test_bufferedhttp.py | 6 +-
test/unit/common/test_db.py | 63 ++-
test/unit/common/test_db_replicator.py | 44 ++
test/unit/common/test_storage_policy.py | 108 ++++
test/unit/common/test_utils.py | 7 +
test/unit/common/test_wsgi.py | 10 +-
test/unit/container/test_server.py | 9 +-
test/unit/container/test_updater.py | 8 +-
test/unit/helpers.py | 19 +-
test/unit/obj/test_auditor.py | 58 +-
test/unit/obj/test_diskfile.py | 600 +++++++++++++++++++--
test/unit/obj/test_server.py | 14 +-
test/unit/obj/test_ssync.py | 3 +-
test/unit/obj/test_ssync_receiver.py | 6 +-
test/unit/obj/test_updater.py | 11 +-
test/unit/proxy/test_server.py | 16 +-
45 files changed, 1614 insertions(+), 349 deletions(-)
More information about the Release-announce
mailing list