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

Frequent operations by struct makes sqlite/site stop to work #697

Open
dgy18787 opened this issue Dec 9, 2023 · 2 comments
Open

Frequent operations by struct makes sqlite/site stop to work #697

dgy18787 opened this issue Dec 9, 2023 · 2 comments

Comments

@dgy18787
Copy link

dgy18787 commented Dec 9, 2023

Hello, developers of the struct plugin,

These days my dokuwiki site often stops working, and after an unknown reason, the SQLite suffers from a huge amount of operations, which makes the database locked and then the whole site fails.

I suspect this problem is caused by both SQLite and struct, as there is only one plugin running that is related to SQLite. This problem seems to be another bug caused by the recent huge update of sqlite / struct in July when I raised another ticket in cosmocode/sqlite#80.

I have also posted a ticket on the repo sqlite plugins, with the key error logs here: cosmocode/sqlite#83 hope there could be a possible fix/solution for it.

Thank you guys in advance!

@armandostyl
Copy link

Is this bug related to PHP 8.0+? I fixed it by rolling back to PHP 7.

@dgy18787
Copy link
Author

Is this bug related to PHP 8.0+? I fixed it by rolling back to PHP 7.

I'm still focusing on the issue recently and the latest result shows that the key lies in a possible conflict between rating and struct plugins, on condition that the site is flooded with high-frequency queries on a struct aggregation page.

After posting the latest check on cosmocode/sqlite#83 (comment), I found that when there is a database locked, there's always a record in log, mentions the rating plugin not working properly. I noticed that I added a top 10 list using the grammar {{rating|startdate=2023-12-01,score=true,tag=ol,lang=zh}} in the side before, so every time I open a new page, the rating will submit the query once.

My solution is to use this grammar on a single page, then "quote" it into the sidebar using the tabembed plugin. And I also block the heavy queries on the struct. After that, all plugins seem to be working properly, and no errors since then.

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

No branches or pull requests

2 participants