From c014cd93de1f2c73348db0e6531f93cf0f1be60f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 15 Dec 2020 02:02:21 +0000 Subject: extsearchidx: checkpoint releases locks --reindex can take many hours or days, ensure we release locks according to --batch-size so automated fetch+index jobs can write new data to indices while we update old data. --- lib/PublicInbox/V2Writable.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/PublicInbox/V2Writable.pm') diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index 572eb418..97dbf328 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -884,7 +884,7 @@ sub reindex_checkpoint ($$) { my $mm_tmp = $sync->{mm_tmp}; $mm_tmp->atfork_prepare if $mm_tmp; die 'BUG: {im} during reindex' if $self->{im}; - if ($self->{ibx_map}) { + if ($self->{ibx_map} && !$sync->{checkpoint_unlocks}) { checkpoint($self, 1); # no need to release lock on pure index } else { $self->done; # release lock -- cgit v1.2.3-24-ge0c7