-
-
Notifications
You must be signed in to change notification settings - Fork 933
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
versions
checksums do not match /info
for existing gems
#1566
Comments
This is a known bug with the rails app we've yet to figure out the root cause of, sadly 😔 |
Is it possible that the same root cause is responsible for #1551? If the root cause for the mismatched hashes stored in the current I think it's worth doing, considering the vast majority of gems are currently affected by this issue. To give a rough estimate of how many gems are affected, I examined a small sample of all gems on rubygems.org (all gems beginning with |
@wjordan we've expired & re-generated the |
@segiddins Have you ever regenerated the Note that expiring and regenerating the |
This happened after we updated compact_index. compact_index 0.11.0 does not add
to:
We should have recalculated |
@wjordan we fixed the incorrect |
To be fair, I'm not 100% sure I deployed the new versions file correctly. Hopefully 😬 |
I'm still getting a 304 on |
blahhh, seems like running the rake task didn't correct the checksums? |
@sonalkr132 awesome, thank you for checking on this 👍 |
Sorry about the delay in getting this resolved. We found two issues, namely:
We fixed checksum of all public version in an adhoc rake task. As of now none of the gems listed in Thank you for reporting this. |
According to my understanding (forgive me if this is incorrect), rubygems.org contains an API controller that serves gem info in the compact-index format, which is used by Bundler's compact index client. One of the format's requirements is that a gem entry in the
versions
endpoint contains an md5 hash that matches the digest generated by the contents of the/info/[gem_name]
endpoint.It appears that the set of 'info' checksums contained in the existing versions list hosted by rubygems.org is incorrect. I don't know if this is because the 'info' format changed slightly, or due to some other environment/platform issue when originally generating the checksums.
For example, the
compact_index
gem (most recently published Aug 27 2016) checksum in/versions
does not match the contents of/info/compact_index
:However, the
rails
gem (most recently published Feb 10 2017) checksum in/versions
(the most recent entry) does match the contents of/info/rails
:This is an issue because the checksum mismatches are causing bundler to send redundant HTTP GET requests to
/info/[gem_name]
endpoints for the affected files, resulting in longerbundle install
times and extra load on therubygems.org
server:Since the direct issue is invalid info-checksum content on rubygems.org I've raised this issue in this repo. However, if the original source/format of these invalid info-checksums is known, a suitable workaround could be added to the Bundler source code to allow backwards compatibility with these 'legacy' checksums without having to modify the existing versions file.
The text was updated successfully, but these errors were encountered: