Files
swift/releasenotes/notes/release-2.35.0-bb2736e6cbc4a520.yaml
Tim Burke d6ac3a261f AUTHORS/CHANGELOG for 2.35.0
Change-Id: I6688025b8f1b53eb31d7c0d10dc9909567e9c281
2025-03-10 12:02:43 -07:00

110 lines
3.8 KiB
YAML

---
features:
- |
Account listings now include storage policy information for the
containers listed.
- |
Added a new object-expirer configuration option,
``round_robin_task_cache_size``, to adjust the number of tasks to cache
before processing. This may be used to trade faster expirer start-up for
more lumpy container-server load.
- |
Added a ``stale_worker_timeout`` configuration option to the WSGI
servers. Once this time elapses following a reload, the manager
process will issue SIGKILLs to any remaining stale workers.
- |
Object updater observability improvements:
* Added last start time to recon dumps as ``object_updater_last``.
* Added information (including target account/container) from oldest
failed updates to recon dumps, both per-device and aggregated for the
node. Use the new ``async_tracker_max_entries`` and
``async_tracker_dump_count`` options to adjust how many records to
collect.
- |
Added the option to tune down ETag validation in the object-server
during full-object reads. By default, every full read will continue
to have its ETag validated as bytes are streamed to the proxy-server.
The ``etag_validate_pct`` option may be used to configure approximately
what percentage of full-object reads should be validated; reducing this
can improve performance when object-servers are CPU-constrained.
Partial reads continue to never have their ETag validated in the
object-server. The object-auditor continues to periodically validate
every object's ETag.
deprecations:
- |
The object-expirer configuration options
``expiring_objects_container_divisor`` and
``expiring_objects_account_name`` are now deprecated.
If a cluster was deployed with a non-standard account name, operators
should remove the option from all configs so they are using a supported
configuration going forward, but will need to deploy stand-alone expirer
processes with legacy expirer config to clean-up old expiration tasks
from the previously configured account name.
fixes:
- |
Removed the use of ``eval`` in the xprofile middleware. Note that this
middleware is only intended for development purposes and is not
intended for use in production systems.
- |
The S3 API no longer requires a ``Content-MD5`` header for ``DeleteObjects``
requests when using v4 signatures.
- |
Uploads to containers with object versioning enabled now require a
``Content-Length`` or ``Transfer-Encoding: chunked`` header, similar to
other containers.
- |
Fixed a server error when deleting a specific version via the S3 API.
- |
``X-Open-Expired`` now works properly with ``?part-number`` requests.
- |
Fixed ``Content-Type`` and ``Content-Length`` headers in account and
container ``HEAD`` responses (with eventlet>=0.38.0).
- |
Object expiration fixes:
* The object-expirer now better handles errors during listings.
* The object-expirer now respects the ``internal_client_conf_path``
configuration option in legacy ``object-expirer.conf`` configs.
- |
Improved the reliability of ``swift-reload``.
- |
Separated unlinks-due-to-outdated-updates from
unlinks-due-to-fully-processed-updates in logged object-updater stats.
- |
The ``cooperative_period`` option for the object-server now affects PUT
requests in a way similar to GET responses.
- |
Fixed an issue with the object-reconstructor that would prevent
reconstruction of objects with non-ASCII header names.
- |
Fixed an issue with the container-reconciler that could cause reconciler
databases to have conflicting rows that could not be resolved.
- |
Removed use of the deprecated cgi module.
- |
Various other minor bug fixes and improvements.