[release-announce] swift 2.29.1 (yoga)

no-reply at openstack.org no-reply at openstack.org
Mon Mar 21 10:23:23 UTC 2022


We are happy to announce the release of:

swift 2.29.1: OpenStack Object Storage

This release is part of the yoga release series.

The source is available from:

    https://opendev.org/openstack/swift

Download the package from:

    https://tarballs.openstack.org/swift/

Please report issues through:

    https://bugs.launchpad.net/swift/+bugs

For more details, please see below.

2.29.1
^^^^^^


Deprecation Notes
*****************

* This is the final stable branch that will support Python 2.7.


Bug Fixes
*********

* Fixed s3v4 signature calculation when the client sends an un-
  encoded path in the request.

* Fixed multiple issues in s3api involving Multipart Uploads with
  non- ASCII names.

* The object-updater now defers rate-limited updates to the end of
  its cycle; these deferred updates will be processed (at the limited
  rate) until the configured "interval" elapses. A new
  "max_deferred_updates" option may be used to bound the deferral
  queue.

* Empty account and container partition directories are now cleaned
  up immediately after replication, rather than needing to wait for an
  additional replication cycle.

* The object-expirer now only cleans up empty containers.
  Previously, it would attempt to delete all processed containers,
  regardless of whether there were entries which were skipped or had
  errors.

* A new "item_size_warning_threshold" option may be used to monitor
  for values that are approaching the limit of what can be stored in
  memcache. See the memcache sample config for more information.

* Internal clients now correctly use their configured "User-Agent"
  in backend requests, rather than only using it for logging.

* Various other minor bug fixes and improvements.

Changes in swift 2.29.0..2.29.1
-------------------------------

954032d5d CHANGELOG for 2.29.1
cb8b3cdab Comply with AWS signature calculation (s3v4)
82ca37517 s3api: Delete all parts when aborting MPU with non-ASCII characters
dd64a81e6 s3api: Fix multi_delete with object names using non-ASCII characters
5b3ec5aa6 s3api: Properly decode MPU request parameters before using them
cd7159c69 db: Attempt to clean up part dir post replication
51da2543c object-updater: defer ratelimited updates
16a306774 sharder: refactor _cleave_shard_range
6609fcd9a sharder: don't cleave DB if own_shard_range missing
335834568 CI: remove swift-tox-func-encryption-py36-centos-8 job
05d83b0a4 memcache: Add an item_size_warning_threshold option
89ee84308 swift-ring-builder: exit ERROR (2) on uncaught exceptions
229065d78 expirer: Only try to delete empty containers
b0245f4eb Proxy: override user_agent with backend_user_agent


Diffstat (except docs and test files)
-------------------------------------

.zuul.yaml                                         |   4 +-
CHANGELOG                                          |  35 +-
bin/swift-ring-builder                             |  15 +-
etc/memcache.conf-sample                           |   6 +
etc/object-server.conf-sample                      |   6 +
.../notes/2_29_1_release-a2962252523d9396.yaml     |  41 ++
swift/common/db_replicator.py                      |  20 +-
swift/common/internal_client.py                    |   3 +-
swift/common/memcached.py                          |  27 +-
swift/common/middleware/memcache.py                |   8 +-
.../middleware/s3api/controllers/multi_delete.py   |   3 +-
.../middleware/s3api/controllers/multi_upload.py   |  39 +-
swift/common/middleware/s3api/s3request.py         |   3 +-
swift/container/sharder.py                         |  60 +-
swift/obj/expirer.py                               |  29 +-
swift/obj/updater.py                               | 222 ++++++-
swift/proxy/controllers/base.py                    |   3 +-
swift/proxy/server.py                              |   1 +
test/debug_logger.py                               |   3 +
test/functional/s3api/test_multi_delete.py         |  48 +-
test/functional/s3api/test_multi_upload.py         |  98 +--
test/unit/common/middleware/helpers.py             |   1 +
.../common/middleware/s3api/test_multi_delete.py   |  13 +-
.../unit/common/middleware/s3api/test_s3request.py |  27 +
test/unit/common/middleware/test_memcache.py       |  43 +-
test/unit/common/test_db_replicator.py             |  15 +-
test/unit/common/test_internal_client.py           | 301 ++++-----
test/unit/common/test_memcached.py                 |  53 +-
test/unit/container/test_sharder.py                |  38 +-
test/unit/obj/test_expirer.py                      | 129 ++--
test/unit/obj/test_updater.py                      | 709 ++++++++++++++++++++-
test/unit/proxy/controllers/test_base.py           |  22 +-
32 files changed, 1610 insertions(+), 415 deletions(-)







More information about the Release-announce mailing list