diff options
author | Eric Wong <e@80x24.org> | 2021-10-12 11:46:59 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-10-12 21:46:33 +0000 |
commit | 4bbafbc4bc8869e3f0fb35fdde727b2334fd6b46 (patch) | |
tree | 92a33230c4094b344b50941903aca975e99261f9 | |
parent | 176cd51f9aa81b741deb00cd8096428eb6712b9e (diff) | |
download | public-inbox-4bbafbc4bc8869e3f0fb35fdde727b2334fd6b46.tar.gz |
Xapian::QueryParser is attached to the Xapian::Database, so holding onto the QueryParser was preventing us from releasing DB handles if a query was performed.
-rw-r--r-- | lib/PublicInbox/Search.pm | 2 | ||||
-rw-r--r-- | t/extsearch.t | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index 17e202e1..dd6d3710 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -253,7 +253,7 @@ sub cleanup_shards { my $nr = grep(/\A[0-9]+\z/, readdir($dh)) or return warn("$xpfx has no shards\n"); # true return reopen($self) if $nr == ($self->{nshard} // -1); - delete($self->{xdb}); + delete @$self{qw(xdb qp)}; undef; } diff --git a/t/extsearch.t b/t/extsearch.t index 1b6235ba..8190de17 100644 --- a/t/extsearch.t +++ b/t/extsearch.t @@ -176,7 +176,7 @@ if ('inbox edited') { is($mset->size, 1, 'new message found'); $mset = $es->mset('b:"test message"'); is($mset->size, 1, 'old message found'); - delete @$es{qw(git over xdb)}; # fork preparation + delete @$es{qw(git over xdb qp)}; # fork preparation my $pi_cfg = PublicInbox::Config->new; $pi_cfg->fill_all; |