From 2833f2adeb224a83d731deaa717e1969e5bf9e62 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 25 Oct 2021 08:59:19 +0000 Subject: lei_to_mail: write directly to mail_sync.sqlite3 No need to go through the lei/store process when we write mail_sync.sqlite3. This ought to reduce ENOBUFS errors (and the sleep workaround) on RAM-starved systems. --- lib/PublicInbox/LeiQuery.pm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib/PublicInbox/LeiQuery.pm') diff --git a/lib/PublicInbox/LeiQuery.pm b/lib/PublicInbox/LeiQuery.pm index effc572f..3d0e5b14 100644 --- a/lib/PublicInbox/LeiQuery.pm +++ b/lib/PublicInbox/LeiQuery.pm @@ -32,10 +32,13 @@ sub _start_query { # used by "lei q" and "lei up" if ($l2m && grep { $opt->{$_} //= \1 } (qw(mail-sync import-remote import-before))) { $self->_lei_store(1)->write_prepare($self); + if ($opt->{'mail-sync'}) { + my $lms = $l2m->{-lms_rw} = $self->lms(1); + $lms->lms_write_prepare->lms_pause; # just create + } } - $l2m and $l2m->{-wq_nr_workers} = $mj // do { - $mj = int($nproc * 0.75 + 0.5); # keep some CPU for git - }; + $l2m and $l2m->{-wq_nr_workers} = $mj // + int($nproc * 0.75 + 0.5); # keep some CPU for git # descending docid order is cheapest, MUA controls sorting order $self->{mset_opt}->{relevance} //= -2 if $l2m || $opt->{threads}; -- cgit v1.2.3-24-ge0c7