vacuum does not work properly for large DBs in 0.12.x
See original GitHub issueObserved behavior
ref: https://github.com/learningequality/kolibri-server/issues/20#issuecomment-523139707 from @jredrejo :
A problem with one function that’s been executed whenever kolibri starts and keeps the db open while vacuum is done, thus vacuum does not work properly. This is only reproducible in big databases as the one you had. This problem has been fixed in kolibri ( in learningequality/kolibri#5494 ) but the fix is not included in the latest release, it will be included in the 0.13.x version.
Expected behavior
vacuum works as expected
User-facing consequences
from @intelliant01:
the bug results in all sorts of inconsistent behaviour for end users
Errors and logs
…
Steps to reproduce
Start kolibri with
kolibri start --foreground
Stop kolibri with
kolibri stop
sqlite journal files keep there and journal is not written to the database
However, if kolibri is stopped using Ctrl-c
in the same window where it’s started, all pending data is written to the database and journal files disappear.
Context
0.12.8, but not 0.13.x
Issue Analytics
- State:
- Created 4 years ago
- Comments:9 (5 by maintainers)
Top GitHub Comments
Tested in the following environment - kolibri 0.12.9b2 deb kolibri server 0.3.2 sqlite db size ~ 2.7 GB. Hardware - Celeron Dual core + 4 GB RAM
Observations:
kolibri.txt upon each start after the first post upgrade which involved db update and took around 9 minutes -
TimeoutStopSec=60
inkolibri-server.service
kolibri.txt
A line in kolibri.txt is
INFO 2019-10-30 21:21:17,081 cli Going to daemon mode, logging to /home/mssadmin/.kolibri/logs/kolibri.txt
. I think it should bedaemon.txt
instead ofkolibri.txt
If possible, addition of timestamps in
daemon.txt
shall help to co-orelate with the events being logged inkolibri.txt
.We want to backport the fixes because 0.13.0 won’t be released for a few months. (we don’t have an official concept of “LTS” with regard to Kolibri releases)