openstack/swift · Week of 2026-08-29
openstack/swift — 2026-08-29
Eventlet removal groundwork. The dominant thread this week is a sweeping effort to replace eventlet with standard-library threading primitives. Shims landed for eventlet.Timeout, GreenPool, GreenPile, spawn, sleep, tpool, pools.Pool, greenio.shutdown_safe, hubs.trampoline, and the internal Watchdog, along with a mode that skips importing eventlet entirely and a pass converting call sites to the new shims. The object replicator and reconstructor were made thread-safe, and tests began the adaptation to run without eventlet.
Gunicorn as WSGI server. Complementing the eventlet work, Gunicorn with gthreads was added as a WSGI server option, backed by three local patches: one to support multiphase PUTs, one to speed up chunked requests, and one to unblock chunked ssync reads.
s3api. The second major track reworked object-copy behavior so s3api sysmeta isn't blindly propagated, added a dedicated s3api checksum module with normalize_checksum_algorithm and test coverage, and stopped base64-validating checksum values on all POSTs. A refactor moved the Range header check, and sysmeta helper names in s3api.utils were clarified.
Versioning and tests. Object versioning now passes footer callbacks into the hidden container, with new tests covering footer callbacks on overwrite and probe tests for sysmeta copying.