Skip to content
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

Function update_status() - the page callback for the update report - does not scale well with many modules installed #6861

Open
indigoxela opened this issue Mar 3, 2025 · 1 comment · May be fixed by backdrop/backdrop#5027

Comments

@indigoxela
Copy link
Member

indigoxela commented Mar 3, 2025

Description of the bug

While digging for something else I came across the problem, that the page /admin/reports/updates attempts to fire an update check whenever visited.

This is fine, if the update check via cron runs successfully and regularly, and there aren't many modules.

However, this is a problematic approach, if there's already a problem getting update info - whatever the reason is. Trying to visit that page takes as long as it takes until the timeout is reached for checking updates.
The approach is also problematic if automatic checks on cron run are disabled, as then the page call always triggers a full refresh.

Steps To Reproduce

Steps to reproduce involve either a problem with hosting, or too many modules installed to check all of them at once by a single page call (flushing the update cache makes things worse).

Actual behavior

Try to go to /admin/reports/updates - and wait, and wait, and wait... (also depends a little on the update_timeout setting, which defaults to 30s)

Expected behavior

Ideally the update check would always be quick - but in real life that's not the case, unfortunately.

I'm not sure, what the best solution for that problem would be. Sure, the base problem is to not be able to reliably (and regularly) check for updates. Either because of hosting, or because of module count.

But that problem shouldn't make the page on /admin/reports/updates unusable... I belief. 😉

Additional information

Add any other information that could help, such as:

  • Backdrop CMS version: 1.30.1 and before
@indigoxela
Copy link
Member Author

Here's my suggestion for better handling: backdrop/backdrop#5027

Idea: if only few modules are installed, it's fine to run the update check on page load, but if there are many modules, skip refreshing on page load.

Yes, I know, currently the comment is way too wordy.
And the magic number "30" is also just a quick decision - probably still too high.

But I thought, let's start somewhere, and see where the discussion leads us from there. 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant