]> Sergey Matveev's repositories - public-inbox.git/commitdiff
V2Writeable.pm: In unindex_oid delete the message from msgmap
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 1 Aug 2018 16:43:44 +0000 (11:43 -0500)
committerEric Wong <e@80x24.org>
Fri, 3 Aug 2018 20:04:29 +0000 (20:04 +0000)
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" <ebiederm@xmission.com>
lib/PublicInbox/V2Writable.pm

index 4dd14331a78f0b46eeadce951e388e47794be3b9..0396d9f58e55931d5cea622556be34135251cecc 100644 (file)
@@ -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);
        }
 }