From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id E57CB1F670; Sat, 16 Oct 2021 19:11:33 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Cc: "Eric W. Biederman" Subject: [PATCH] msgmap: do not cache num_highwater Date: Sat, 16 Oct 2021 19:11:33 +0000 Message-Id: <20211016191133.30859-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Caching the value doesn't seem necessary from a performance perspective, and it adds a caveat for read-only users which may lead to bugs in future code. --- lib/PublicInbox/IMAP.pm | 3 +-- lib/PublicInbox/Msgmap.pm | 7 +++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/PublicInbox/IMAP.pm b/lib/PublicInbox/IMAP.pm index 41bcf9af..4a7ff2f4 100644 --- a/lib/PublicInbox/IMAP.pm +++ b/lib/PublicInbox/IMAP.pm @@ -393,8 +393,7 @@ sub inbox_lookup ($$;$) { die "BUG: unexpected dummy mailbox: $mailbox\n"; $uid_base = $1 * UID_SLICE; - # ->num_highwater caches for writers, so use ->meta_accessor - $uidmax = $ibx->mm->meta_accessor('num_highwater') // 0; + $uidmax = $ibx->mm->num_highwater // 0; if ($examine) { $self->{uid_base} = $uid_base; $self->{ibx} = $ibx; diff --git a/lib/PublicInbox/Msgmap.pm b/lib/PublicInbox/Msgmap.pm index e71f16f8..699a8bf0 100644 --- a/lib/PublicInbox/Msgmap.pm +++ b/lib/PublicInbox/Msgmap.pm @@ -100,13 +100,12 @@ sub created_at { sub num_highwater { my ($self, $num) = @_; - my $high = $self->{num_highwater} ||= - $self->meta_accessor('num_highwater'); + my $high = $self->meta_accessor('num_highwater'); if (defined($num) && (!defined($high) || ($num > $high))) { - $self->{num_highwater} = $num; + $high = $num; $self->meta_accessor('num_highwater', $num); } - $self->{num_highwater}; + $high } sub mid_insert {