From 200fb98dd5d5f81344e9ab732d2c7ee3f92203e1 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 9 Aug 2016 00:41:37 +0000 Subject: searchidx: avoid holding Xapian lock in cat-file We must ensure cat-file process is launched before Xapian grabs lock, too. Our use of "git cat-file --batch" has the same problem as "git log" did, (which was fixed in commit 3713c727cda431a0dc2865a7878c13ecf9f21851) "searchidx: release Xapian FDs before spawning git log" --- lib/PublicInbox/SearchIdx.pm | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/PublicInbox/SearchIdx.pm') diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 6efc1f3f..0582526e 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -390,6 +390,7 @@ sub _index_sync { my $tip = $opts->{ref} || 'HEAD'; my $reindex = $opts->{reindex}; my ($mkey, $last_commit, $lx, $xlog); + $self->{git}->batch_prepare; my $xdb = _xdb_acquire($self); $xdb->begin_transaction; do { -- cgit v1.2.3-24-ge0c7