Jump to content
You're invited! Join our 4.6 Live Event on ZOOM 6/24 ×

Community

Upgrader no-JS fallback is really annoying


Colonel_mortis
 Share

Recommended Posts

If one request times out in the JS upgrader, it falls back to the considerably slower HTML-based upgrader. Could there not be some logic to retry the request a couple of times, ideally with a bit of backoff (if it's an nginx or transport layer error it's probably a timeout, and retrying will then hit the case where the task is already done), rather than making the upgrade experience suck? At worst, the HTML upgrader shouldn't have delays between redirects - as soon as the response comes back it is ready to receive another request.

It's reasonably easy to work around by just deleting the mr parameter from the URL, but that relies on me paying attention to the upgrader.

Edited by Colonel_mortis
Link to comment
Share on other sites

On 10/27/2020 at 1:58 PM, Charles said:

This only happens if your server is having problems processing an upgrade action in a reasonable amount of time. If it happens, you can always exit your browser and restart the upgrader. It will remember where it left off and try the proper way again.

I also find the current behaviour here frustrating, as it's so much slower, and it happens quite often for the big boards I work on. I've often found ongoing COUNT(*)-queries to be the culprit, which is kind of ironic since the purpose of them is to figure out whether the table is so big that queries against them will take a long time or not.

Could you at least lower the refresh time? It's currently 2 seconds and should ideally be instant. If instant isn't feasible, then at least let it be 1 second.  

Edited by TSP
Link to comment
Share on other sites

  • Management
8 hours ago, TSP said:

I also find the current behaviour here frustrating, as it's so much slower, and it happens quite often for the big boards I work on. I've often found ongoing COUNT(*)-queries to be the culprit, which is kind of ironic since the purpose of them is to figure out whether the table is so big that queries against them will take a long time or not.

Could you at least lower the refresh time? It's currently 2 seconds and should ideally be instant. If instant isn't feasible, then at least let it be 1 second.  

A basic query like COUNT(*) should be almost instant. If it's not then you should probably look at your server to see what is wrong. We host sites with tens of millions of posts without issue.

Link to comment
Share on other sites

On 10/27/2020 at 12:58 PM, Charles said:

This only happens if your server is having problems processing an upgrade action in a reasonable amount of time. If it happens, you can always exit your browser and restart the upgrader. It will remember where it left off and try the proper way again.

I have turned up the threshold for falling back to manual queries, because the vast majority of the time the queries that require manual action only take a couple of seconds to run (even with the threshold turned up). Maybe if I turn it down that will solve the issue, but instead it will mean I spend time copying queries into mysql-client instead. That raises another question though - can you fix the query runtime heuristic to be more accurate? UPDATE queries are pretty fast, as are DROP INDEX and I think DROP COLUMN, whereas CREATE INDEX queries are very slow, but they're all judged by the same threshold.

Given the replies above though, as well as my memory of prior upgrades where I hadn't updated the threshold, resetting the threshold back to default is not the magic bullet here.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We use technologies, such as cookies, to customise content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy