From: Eric W. Biederman Date: Wed, 1 Aug 2018 16:43:44 +0000 (-0500) Subject: V2Writeable.pm: In unindex_oid delete the message from msgmap X-Git-Tag: v1.2.0~469^2 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=72fa722146912781230c54d7282bf7c1147e0455;p=public-inbox.git V2Writeable.pm: In unindex_oid delete the message from msgmap Now that we track the num highwater mark it is safe to remove messages from msgmap that have been previously allocated. Removing even the highest numbered article will no longer cause new message numbers to move backwards. Signed-off-by: "Eric W. Biederman" --- diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index 4dd14331..0396d9f5 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -842,7 +842,10 @@ sub unindex_oid { warn "BUG: multiple articles linked to $oid\n", join(',',sort keys %gone), "\n"; } - $self->{unindexed}->{$_}++ foreach keys %gone; + foreach my $num (keys %gone) { + $self->{unindexed}->{$_}++; + $self->{mm}->num_delete($num); + } $self->unindex_oid_remote($oid, $mid); } }