RGW S3: Features Vs Deep Compatibility
summary
Built an HAProxy plugin that parses headers before bodies to log and classify S3 feature use and to patch broken clients; it injects a content-length: 0 for ACL writes and records that server-side encryption is rarely used despite frequent requests. Finds AWS behavior differs by region (create-bucket returns 200 vs 409), signature V4 quirks require stripping extra spaces, multipart uploads keep breaking, and an accept-wrong-signature toggle was added to restore compatibility; proxy approach works but cannot measure upload bandwidth after handoff.
AI-written summary · about
chapters (18)
- 0:00Introduction to S3 compatibility
- 1:03Feature support in RGW
- 2:49API usage analysis methods
- 5:58AWS vs specification inconsistencies
- 8:11Content-Length header handling
- 9:17Signature and region issues
- 10:23Robustness principle in S3
- 11:30HTTP 1.0 compatibility gaps
- 12:11Missing feature feedback
- 13:21Encryption and data corruption
- 14:48Signature compatibility toggles
- 15:37Multipart upload breakages
- 16:41Data compatibility over time
- 17:44Silent data discards and corruption
- 19:09Swift vs S3 interoperability
- 21:02QoS implementation in RGW
- 23:44Concurrency and race conditions
- 24:56Q&A session
