-
-
Notifications
You must be signed in to change notification settings - Fork 10.4k
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
Error updating to Ghost 5.80 from 5.23, blog down, please help #19839
Comments
Ok, I managed to solve it manually. The issue is in the script Specifically, in this function:
The problem is the batch size. I guess it does not make sense to have it set to 1000 if the maximum size for batch inserts in MySQL is 500. So lowering to 100 for example does the trick. Now, can you kindly confirm that even by reducing the batch size to 100, all posts would be updated in the database as per the new Ghost 5.80 requirements? (looking at the code, it seems that is the case, but just want to be sure). Thank you. A PR here would be quite easy I guess, just decreasing the limit to 100. |
In order to fix this issue we need a few things:
|
@allouis It's possible to take a "good now, better later" approach here. If the PR #21063 is adjusted down to use a value of 100, it will solve some known, reported case were people are running into this SQLite limit and the code quality will be no worse than the current code which hardcodes a limit of 1,000 rather than 100. That's a good solution that can help now. Per above, the value of 100 has been tested. What you describe here is a more ideal solution with a test-suite-ready replication and a helper method. Although, the helper method will only help if people remember to use it instead of An alternate path forward is to merge the PR adjusted to a batch size of 100 while also leaving this issue open for a more ideal approach later. |
@markstos Absolutely! If this is still an issue for people and we have a PR that solves it - I'm happy to merge 😁 FWIW I wasn't asking for a test suite replication - a manual one would have been fine - the problem is that the original PR didn't fix the issue - so I'd like to be sure that anything we merge does fix an issue! I'll reopen that PR for you now - thank you for coming back and taking an interest - it's appreciated! |
SQLite has limit of 500 items in a compound select statement. This limit could be hit when a complex SELECT statement was being generated as part of a batch insert statement. Lowering the batch size will have minimal impact on migration performance while improving SQLite compatibility. Ref: https://www.sqlite.org/limits.html Issue: TryGhost#19839
refs #19839 refs https://www.sqlite.org/limits.html SQLite has limit of 500 items in a compound select statement. This limit could be hit when a complex select statement was being generated as part of a batch insert statement. Lowering the batch size will have minimal impact on migration performance while improving SQLite compatibility. One of these bulk inserts is confirmed to be affected through the linked issue. I didn't confirm if the other two cases would trigger it, but the change won't hurt there either.
This can be closed, it was resolved by #21063 in the next release after 5.99. |
…st#21063) refs TryGhost#19839 refs https://www.sqlite.org/limits.html SQLite has limit of 500 items in a compound select statement. This limit could be hit when a complex select statement was being generated as part of a batch insert statement. Lowering the batch size will have minimal impact on migration performance while improving SQLite compatibility. One of these bulk inserts is confirmed to be affected through the linked issue. I didn't confirm if the other two cases would trigger it, but the change won't hurt there either.
Issue Summary
Hello, I just updated my Ghost blog from 5.23 to 5.80.
After the update, I tried to restart Ghost, but it fails with this message:
Ghost instance is not running! Starting...
✖ Starting Ghost
A GhostError occurred.
Debug Information:
OS: Debian GNU/Linux, v11
Node Version: v18.19.1
Ghost Version: 5.80.2
Ghost-CLI Version: 1.25.3
Environment: development
Command: 'ghost restart'
mysql Ver 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL)
Steps to Reproduce
Start with an install of v5.23 or below 5.80
Apparently the number of posts can be a cause, so get more than 500 posts.
Run ghost update and ghost restart
Ghost Version
5.80.2
Node.js Version
v18.19.1
How did you install Ghost?
Command line
Database type
MySQL 5.7
Browser & OS version
Chrome, MacOS
Relevant log / error output
Code of Conduct
The text was updated successfully, but these errors were encountered: