-
Notifications
You must be signed in to change notification settings - Fork 73
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
Version question #350
Comments
no prob, here ya go |
Closed but reopned because maybe there is something not quite 100% with the local cache detecting automatically when the web site index changes. I can't tell for sure now because the evidense has been wiped and everything is good now, but I think what might have happened is the app cached a prior state of the upstream site when 6.13 was a failed build for amd64, and marked that version as invalid and hid it from view. Then later the ubuntu kernel team did eventually sucessfully produce debs for amd64, and the app failed to pick up the change. It just "remembers" that 6.13 is no good forever. Except in fact there is code to scan for exactly that sequence of events because it's common. It is supposed to be noticing when the datestamps on the various indexes on the ppa site change from the last thing it "remembers" and reload any indexes that changed, and so when failed builds become good builds, we notice and put them in the list of installable kernels. Not look once and remember that some version is bad forever without ever looking again. The cache is basically downloads of a bunch of index.html files from the ubuntu mainline-ppa web site so the web site isn't hit with 500 downloads every time anyone opens the app. The main page needs to be re-downloaded almost every time, but most of the pages for each individual kernel never need to be downloaded again. We use the date/time stamps in the main page to detect when one of the individual kernel pages needs to be updated. But that detect & update seems to have failed. A few minutes ago I opened the app and I don't remember for sure but I think it was not showing 6.13. I went into settings and un-selected "hide failed builds" which makes the app show all the failed builds even though you can't install them. Any change to the filtering like that causes the same as the Reload button, which deletes and re-creates the cache. 6.13 was showing after that, and even correctly showing as installable not just as invalid. Even after turning the opotion back on to hide invalid versions again, 6.13 still shows as available and installable, and does actually install fine. It's hard to be sure now after the fact because I don't have snapshots of the prior state of the ppa site and didn't think to make a copy of my local cache before opening the app just now, so I can't replay the sequence of events to debug it. I'll have to be on the lookout starting now to see if I can catch it when it happens again. I'll have to rig up the app to save snapshot copies of the cache instead of updating the single copy, and then I can replay & debug it next time it happens. In the mean time, if you suspect kernels are missing you can always just hit the Reload button any time and see if new versions appear. That deletes the entire cache re-downloads all indexes and scans all versions from scratch. If a version you think should be there still isn't there after that, hit the PPA button and look for the latest versions at the bottom of the page. Go into a late version directory and see if the amd64 build actually succeeded. If amd64 failed, then that's why it's not in the app. |
WOW! Thank you for that explanation! I enjoy learning and appreciate you took the time to add clarity. I did notice that 6.13 showed up but onbly after I clicked 300 different things experimenting. This was very very helpful. Thanks again. |
Hey
Learner here. I use this app for kernel updates and was curious
Why does this link have 6.13 (for example) and the mainline app only has up to 6.12…..
Just wanted to learn
Thank you!
The text was updated successfully, but these errors were encountered: