# Copyright (C) 2018 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
+
+# used to interface with a single Xapian partition in V2 repos.
+# See L<public-inbox-v2-format(5)> for more info on how we partition Xapian
package PublicInbox::SearchIdxPart;
use strict;
use warnings;
sub partition_worker_loop ($$$$) {
my ($self, $r, $part, $bnote) = @_;
$0 = "pi-v2-partition[$part]";
+ my $current_info = '';
+ my $warn_cb = $SIG{__WARN__} || sub { print STDERR @_ };
+ local $SIG{__WARN__} = sub {
+ chomp $current_info;
+ $warn_cb->("[$part] $current_info: ", @_);
+ };
$self->begin_txn_lazy;
while (my $line = $r->getline) {
+ $current_info = $line;
if ($line eq "commit\n") {
$self->commit_txn_lazy;
} elsif ($line eq "close\n") {