-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GetObject doesn't respect the partNumber
Request URI parameter
#56
Comments
At the core we'd have to extend ObjectDownloadRequest / Endpoint.DownloadObject() to be capable of returning from only a specific part. This would guarantee that order limits are set correctly, etc. It does seem that part numbers are currently being persisted. The |
Here are my findings from a quick test with the "real" S3:
In short, per GetObject request with this mighty parameter, we will need to gather the appropriate range for the part specified and the number of available parts—if any. |
Just an initial question. Is this our finding or is it's a real use case we have with one of external testsuites? I'm asking to understand the priority. In regards to the solution, @wthorp is right and we would need to extend
If we need to have this fix sooner than later then we can also initially fix it only on uplink side. If we agree that this is a high priority we can think to schedule time for it. As task fully for Metainfo team I don't think we will have the power to do this next sprint but if that would be cross-team effort I'm sure we can figure out something. |
Thanks so much for thorough response! Our test suite and external test suites we test against don't cover this case. This is our find at the moment. I don't think it's very high in priority (certainly good to have, though); this probably needs confirmation, but I believe it could be even scheduled for Q2 (for our compatibility-improvement milestone). |
Moved to backlog until S3 compatibility Improvement milestone work is underway. |
I had thought that this feature (beyond being part of the standard) would result in more optimized parallel downloads. Most parallel download clients will ask for some arbitrary sized chunk. If these chunk sizes relatively but don't exactly align with segment sizes, we'd effectively require two requests to download each segment. However, this story is worse if downloaders grab small chunks; It could take arbitrarily many metainfo requests to download a segment. Seeing as how gaining efficiency here would require changing how clients work (which frankly won't happen), this now seems low priority. I can see a cache of some sort being the more effective solution to this problem. |
GetObjectNInfo
needs adjustments to handle thepartNumber
parameter. This way, we will fully support GetObject action.Reference: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html#API_GetObject_RequestSyntax
The text was updated successfully, but these errors were encountered: