From c951a8ee25edd8489ce127acd8b2caf54e6dad6f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 8 Aug 2021 01:14:17 +0000 Subject: searchidx: die on Xapian load errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Xapian bindings may not be installed or be out-of-date w.r.t. the Perl version, improve the visibility of errors in those cases. Cleanup and drop some redundant checks while we're at it. Cc: "Toke Høiland-Jørgensen" Link: https://public-inbox.org/meta/87k0ky5mbd.fsf@toke.dk/ --- lib/PublicInbox/SearchIdx.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/PublicInbox/SearchIdx.pm') diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index f4f3ba34..5b0e4458 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -94,7 +94,7 @@ sub need_xapian ($) { $_[0]->{indexlevel} =~ $xapianlevels } sub idx_release { my ($self, $wake) = @_; if (need_xapian($self)) { - my $xdb = delete $self->{xdb} or croak 'not acquired'; + my $xdb = delete $self->{xdb} or croak '{xdb} not acquired'; $xdb->close; } $self->lock_release($wake) if $self->{creat}; @@ -103,7 +103,7 @@ sub idx_release { sub load_xapian_writable () { return 1 if $X->{WritableDatabase}; - PublicInbox::Search::load_xapian() or return; + PublicInbox::Search::load_xapian() or die "failed to load Xapian: $@\n"; my $xap = $PublicInbox::Search::Xap; for (qw(Document TermGenerator WritableDatabase)) { $X->{$_} = $xap.'::'.$_; @@ -783,7 +783,7 @@ sub v1_checkpoint ($$;$) { ${$sync->{max}} = $self->{batch_bytes}; $self->{mm}->{dbh}->commit; - my $xdb = need_xapian($self) ? $self->{xdb} : undef; + my $xdb = $self->{xdb}; if ($newest && $xdb) { my $cur = $xdb->get_metadata('last_commit'); if (need_update($self, $cur, $newest)) { -- cgit v1.2.3-24-ge0c7