From 796da029ba295903d0dfb389c1576ce3985ea1af Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 16 Oct 2021 19:11:33 +0000 Subject: msgmap: do not cache num_highwater 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 { -- cgit v1.2.3-24-ge0c7