Cannot store files greater than 5GB in Swift
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Fix Released
|
Critical
|
Jay Pipes |
Bug Description
Trying to deploy Glance with Swift at a customer...
ERROR [glance.
Got error from Swift: Object PUT failed: http://
It turns out that you CAN store objects greater than 5GB in Swift. However, you cannot use the regular put_object() interface -- instead you have to use a separate interface:
This is problematic because we don't necessarily know the size of an image before we send it off to Swift :( So, we have two solutions:
1) try: except on the error above and do the large object creation in the except block
2) Attempt to figure out the image size before storing in Swift
Either solution isn't particularly desirable, since the first means wasted time and memory doing the failed initial put_object() and the second would require the image file request body to be read into memory in order to determine the image file size :(
Changed in glance: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
milestone: | none → diablo-rbp |
description: | updated |
Changed in glance: | |
status: | Confirmed → In Progress |
Changed in glance: | |
assignee: | nobody → Jay Pipes (jaypipes) |
Changed in glance: | |
milestone: | diablo-rbp → diablo-4 |
Changed in glance: | |
milestone: | diablo-4 → 2011.3 |
status: | Fix Committed → Fix Released |
add a size check on the client side and pass it in as an optional parameter to upload?