From 08e8e9522405e40985935b13e9eaaf409e33da75 Mon Sep 17 00:00:00 2001
From: Eric Wong <e@yhbt.net>
Date: Fri, 24 Jul 2020 05:55:51 +0000
Subject: [PATCH] v2writable: move {autime} and {cotime} into $sync state

The V2Writable object may be long-lived, so it makes more
sense to put the {autime} and {cotime} fields into the
shorter-lived index_sync state.
---
 lib/PublicInbox/Smsg.pm       |  8 ++++----
 lib/PublicInbox/V2Writable.pm | 12 ++++++------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/lib/PublicInbox/Smsg.pm b/lib/PublicInbox/Smsg.pm
index 725d4206..aaf88f35 100644
--- a/lib/PublicInbox/Smsg.pm
+++ b/lib/PublicInbox/Smsg.pm
@@ -96,7 +96,7 @@ sub from_mitem {
 
 # for Import and v1 non-SQLite WWW code paths
 sub populate {
-	my ($self, $hdr, $v2w) = @_;
+	my ($self, $hdr, $sync) = @_;
 	for my $f (qw(From To Cc Subject)) {
 		my @all = $hdr->header($f);
 		my $val = join(', ', @all);
@@ -117,9 +117,9 @@ sub populate {
 		}
 		$self->{$f} = $val if $val ne '';
 	}
-	$v2w //= {};
-	$self->{-ds} = [ my @ds = msg_datestamp($hdr, $v2w->{autime}) ];
-	$self->{-ts} = [ my @ts = msg_timestamp($hdr, $v2w->{cotime}) ];
+	$sync //= {};
+	$self->{-ds} = [ my @ds = msg_datestamp($hdr, $sync->{autime}) ];
+	$self->{-ts} = [ my @ts = msg_timestamp($hdr, $sync->{cotime}) ];
 	$self->{ds} //= $ds[0]; # no zone
 	$self->{ts} //= $ts[0];
 
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm
index c896dc0e..4dc6880b 100644
--- a/lib/PublicInbox/V2Writable.pm
+++ b/lib/PublicInbox/V2Writable.pm
@@ -564,8 +564,8 @@ W: $list
 			num => $smsg->{num},
 			mid => $smsg->{mid},
 		}, 'PublicInbox::Smsg';
-		my $v2w = { autime => $smsg->{ds}, cotime => $smsg->{ts} };
-		$new_smsg->populate($new_mime, $v2w);
+		my $sync = { autime => $smsg->{ds}, cotime => $smsg->{ts} };
+		$new_smsg->populate($new_mime, $sync);
 		do_idx($self, \$raw, $new_mime, $new_smsg);
 	}
 	$rewritten->{rewrites};
@@ -950,7 +950,7 @@ sub reindex_oid ($$$$) {
 		blob => $oid,
 		mid => $mid0,
 	}, 'PublicInbox::Smsg';
-	$smsg->populate($mime, $self);
+	$smsg->populate($mime, $sync);
 	if (do_idx($self, $msgref, $mime, $smsg)) {
 		reindex_checkpoint($self, $sync, $git);
 	}
@@ -1225,14 +1225,14 @@ sub index_epoch ($$$) {
 	while (my ($f, $at, $ct, $oid) = $stk->pop_rec) {
 		$self->{current_info} = "$i.git $oid";
 		if ($f eq 'm') {
-			$self->{autime} = $at;
-			$self->{cotime} = $ct;
+			$sync->{autime} = $at;
+			$sync->{cotime} = $ct;
 			reindex_oid($self, $sync, $git, $oid);
 		} elsif ($f eq 'd') {
 			unindex_oid($self, $git, $oid);
 		}
 	}
-	delete @$self{qw(autime cotime)};
+	delete @$sync{qw(autime cotime)};
 	update_last_commit($self, $git, $i, $stk->{latest_cmt});
 }
 
-- 
2.50.0