[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