110 lines
3.8 KiB
YAML
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.
|