Must empty buffer so that no data can be read by subsequent requests
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| OpenStack Object Storage (swift) |
New
|
Undecided
|
Unassigned | ||
Bug Description
When a Swift quota for a project is exceeded, PUT requests will receive a 413 (Payload entity too large).
The problem is that some data has been read and buffered already. Data buffered isn't cleared and then another and unrelated incoming PUT request can read the data, causing ERRORs.
To reproduce :
1. Ensure project quota isn't reached :
swift --os-storage-url endpoint_url post -m quota-bytes:""
2. Copy data in continue:
rclone copy /path/to/some/data swift_account:
3. While copying data, simulate overquota for the project by modifying its quota :
swift --os-storage-url endpoint_url post -m quota-bytes:"25"
Fix proposed :
https:/

Thanks for reporting this, and working on a solution!
This sort of issue seems familiar to me -- what version of eventlet are you using? I wonder if https:/ /github. com/eventlet/ eventlet/ pull/578 (released in eventlet 0.33.0) may have addressed it.