-
-
Notifications
You must be signed in to change notification settings - Fork 374
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
Fix broken MD5 hash cache. #1313
Conversation
I wonder why the prefix was added on one side only, and what it's purpose is. If the prefix somehow makes sense, maybe we should add it in the missing part ? The tests are now complaining about the missing prefix, so they should be fixed (no more prefix) if we decide to drop the prefix... |
the following system tests fail:
in order to test, create a
and run: |
the following unit tests fail:
run unit tests locally with: |
1e5ecb6
to
1ac24e1
Compare
I rebased the PR on master... could you maybe help fixing the tests ? thanks in advance ! |
This change fixes issues causing no matches to occur for existing objects at S3 in some cases. This issue caused all versions of a package in a repo to be uploaded again to S3. Lookups in the cache of file MD5s were failing as the key in the map had its prefix stripped while the key used for the lookup did not have the prefix stripped. This change stops stripping the prefix when building the cache. Retrieving object MD5s from object metadata (as opposed to the etag that comes with the object list) were failing as the key in the metadata map is now "md5" (all lowercase) vs. "Md5" that was used pre-v2 AWS SDK.
I was looking at the failing the md5 field seems to be only used for encrypted S3, where I could not test it... if you are still interested to contribute and get your issue fixed, it would be great if you could provide a failing example of what you try to fix... |
looking into the Md5 in metadata, this is not a AWS field, as it seems, but our own data, which is uploaded 20 lines below that, so I think this is correct... |
closing, too many tests failing, not clear what needs to be fixed. please reopen with more details... |
This change fixes issues causing no matches to occur for existing objects at S3 in some cases. This issue caused all versions of a package in a repo to be uploaded again to S3.
Lookups in the cache of file MD5s were failing as the key in the map had its prefix stripped while the key used for the lookup did not have the prefix stripped. This change stops stripping the prefix when building the cache.
Retrieving object MD5s from object metadata (as opposed to the etag that comes with the object list) were failing as the key in the metadata map is now "md5" (all lowercase) vs. "Md5" that was used pre-v2 AWS SDK.
Checklist
AUTHORS