about summary refs log tree commit homepage
path: root/lib/PublicInbox/SearchIdx.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-06-12 00:18:01 +0000
committerEric Wong <e@80x24.org>2019-06-12 19:25:03 +0000
commitefa2071d80a0240f7d7627b78812f8d1ed57a25f (patch)
tree4cd0f252446be8bd5e373355e16d2b6518c7ab4e /lib/PublicInbox/SearchIdx.pm
parentc44825f8b2f3d57f6aca29d75516db8712261954 (diff)
downloadpublic-inbox-efa2071d80a0240f7d7627b78812f8d1ed57a25f.tar.gz
Make it easier to detect if a partition is corrupt.
Diffstat (limited to 'lib/PublicInbox/SearchIdx.pm')
-rw-r--r--lib/PublicInbox/SearchIdx.pm6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 99856286..7cd67f12 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -117,7 +117,11 @@ sub _xdb_acquire {
                 }
         }
         return unless defined $flag;
-        $self->{xdb} = Search::Xapian::WritableDatabase->new($dir, $flag);
+        my $xdb = eval { Search::Xapian::WritableDatabase->new($dir, $flag) };
+        if ($@) {
+                die "Failed opening $dir: ", $@;
+        }
+        $self->{xdb} = $xdb;
 }
 
 sub add_val ($$$) {