Files
swift/swift
Tim Burke 3d8fb046cb obj: Add option to tune down etag validation in object-server
Historically, the object-server would validate the ETag of an object
whenever it was streaming the complete object. This minimizes the
possibility of returning corrupted data to clients, but

- Clients that only ever make ranged requests get no benefit and
- MD5 can be rather CPU-intensive; this is especially noticeable
  in all-flash clusters/policies where Swift is not disk-constrained.

Add a new `etag_validate_pct` option to tune down this validation.
This takes values from 100 (default; all whole-object downloads are
validated) down to 0 (none are).

Note that even with etag validation turned off, the object-auditor
should eventually detect and quarantine corrupted objects. However,
transient read errors may cause clients to download corrupted data.

Hat-tip to Jianjian for all the profiling work!

Co-Authored-By: Jianjian Huo <jhuo@nvidia.com>
Change-Id: Iae48e8db642f6772114c0ae7c6bdd9c653cd035b
2025-01-08 18:21:30 +00:00
..
2023-06-28 02:13:42 +00:00