about summary refs log tree commit homepage
path: root/lib/PublicInbox/OverIdx.pm
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-08-25 03:02:47 +0000
committerEric Wong <e@yhbt.net>2020-08-26 06:10:52 +0000
commit5f6a0d2342323541e44ff2f1e7329053d0263800 (patch)
treeec2243f42f3aebcacd08be07bc1b2dd06267092a /lib/PublicInbox/OverIdx.pm
parent793dcb03635e167143c9df6897999f4698a5133c (diff)
downloadpublic-inbox-5f6a0d2342323541e44ff2f1e7329053d0263800.tar.gz
WAL actually seems to have ideal locking characteristics given
concurrency problems I'm experiencing with --reindex running
in parallel with expensive read-only SQLite queries:
<https://public-inbox.org/meta/20200825001204.GA840@dcvr/>

Unfortunately, we cannot blindly use WAL while preserving
compatibility with existing setups nor our guarantees that
read-only daemons are indeed "read-only".

However, respect an user's the choice to set WAL on their
own if they're comfortable with giving -nntpd/-httpd/-imapd
processes write permission to the directory storing SQLite DBs.
Diffstat (limited to 'lib/PublicInbox/OverIdx.pm')
-rw-r--r--lib/PublicInbox/OverIdx.pm5
1 files changed, 0 insertions, 5 deletions
diff --git a/lib/PublicInbox/OverIdx.pm b/lib/PublicInbox/OverIdx.pm
index d42d6fe7..9f4a56fb 100644
--- a/lib/PublicInbox/OverIdx.pm
+++ b/lib/PublicInbox/OverIdx.pm
@@ -23,11 +23,6 @@ sub dbh_new {
         my ($self) = @_;
         my $dbh = $self->SUPER::dbh_new($self->{-no_fsync} ? 2 : 1);
 
-        # TRUNCATE reduces I/O compared to the default (DELETE)
-        # We do not use WAL since we're optimized for read-only ops,
-        # (and read-only requires SQLite 3.22.0 (2018-01-22)).
-        $dbh->do('PRAGMA journal_mode = TRUNCATE');
-
         # 80000 pages (80MiB on SQLite <3.12.0, 320MiB on 3.12.0+)
         # was found to be good in 2018 during the large LKML import
         # at the time.  This ought to be configurable based on HW