From: Eric Wong Date: Wed, 14 Aug 2024 00:16:43 +0000 (+0000) Subject: v2writable: confess on broken {idx_shards} X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=027178bccb3af2a551dacad5026a8e284aed64bb;p=thirdparty%2Fpublic-inbox.git v2writable: confess on broken {idx_shards} There's a bug in `lei import' introduced in 4ff8e8d21ab5 (lei/store: stop shard workers + cat-file on idle, 2024-04-16) which causes {idx_shards} to not be recreated properly. Hopefully this can help me track it down since it's not easily reproducible. --- diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index 15a731581..dab5e64d9 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -90,6 +90,9 @@ sub init_inbox { sub idx_shard ($$) { my ($self, $num) = @_; + use Carp qw(confess); # FIXME: lei_store bug somewhere.. + confess 'BUG: {idx_shards} unset' if !$self->{idx_shards}; + confess 'BUG: {idx_shards} empty' if !@{$self->{idx_shards}}; $self->{idx_shards}->[$num % scalar(@{$self->{idx_shards}})]; }