|Anonymous | Login | Signup for a new account||2017-11-21 23:06 UTC|
|My View | View Issues | Change Log | Roadmap | Zandronum Issue Support Ranking | Rules | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002844||Zandronum||[All Projects] Suggestion||public||2016-09-28 03:10||2017-09-07 20:34|
|Assigned To||Torr Samaho|
|Target Version||3.0||Fixed in Version||3.0|
|Summary||0002844: Enable WAL mode on databases|
|Description||Apparently, recent versions of SQLite3 have a feature called Write-Ahead Logging which appears to confer significant advantages over the default rollback journaling.|
It is significantly faster and allows concurrent reading and writing, which is good - I occasionally get messages from people saying that database system slows down with the amount of data they're putting into it, and this might be able to combat latency.
Enabling it is as simple as sending a PRAGMA to the database in question. It is persistent, but it's probably best to always send the PRAGMA upon opening the file just in case. Since it is persistent across opens, you can technically set any database file to WAL mode simply by opening it with the command line client and setting the pragma that way, but obviously not all server administrators can be expected to know this.
The most significant downside with WAL appears to be that the database cannot be located on a network filesystem. However, SQLite already recommends against being used over NFS, and although I haven't tested it myself, I'm willing to bet that safe use of sqlite over NFS might block the entire server process with additional latency, which would be unacceptable.
Torr Samaho (administrator)
|The SQLite3 database can now be used in WAL mode. This mode is enabled / disabled with the new CCMDs 'db_enable_wal' / 'db_disable_wal'|
|Is it okay for these CCMDs to not be protected against ConsoleCommand?|
Torr Samaho (administrator)
|No, they should be protected. Thanks for pointing this out. Fixed.|
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
|Supporters:||ZzZombo FascistCat Korshun|
|Opponents:||No one explicitly opposes this issue yet.|
|2016-09-28 03:10||AlexMax||New Issue|
|2017-04-08 13:02||Torr Samaho||Note Added: 0017098|
|2017-04-08 13:02||Torr Samaho||Status||new => needs testing|
|2017-04-08 13:02||Torr Samaho||Product Version||=> 2.1|
|2017-04-08 13:02||Torr Samaho||Target Version||=> 3.0|
|2017-04-08 13:02||Torr Samaho||Assigned To||=> Torr Samaho|
|2017-04-08 13:02||Torr Samaho||Status||needs testing => assigned|
|2017-04-08 13:03||Torr Samaho||Status||assigned => needs testing|
|2017-04-08 13:21||Edward-san||Note Added: 0017101|
|2017-04-08 13:31||Torr Samaho||Note Added: 0017102|
|2017-04-08 16:42||Edward-san||Note View State: 0017101: public|
|2017-09-07 20:34||Dusk||Status||needs testing => resolved|
|2017-09-07 20:34||Dusk||Fixed in Version||=> 3.0|
|2017-09-07 20:34||Dusk||Resolution||open => fixed|
Questions or other issues? Contact Us.
|Copyright © 2000 - 2017 MantisBT Team|