Update comments in multixact.c
Hi,
I noticed that commit 5212d447fa updated some comments in multixact.c because
SLRU truncation for multixacts is performed during VACUUM, instead of
checkpoint. Should the following comments which mentioned checkpointer be
changed, too?
1.
* we compute it (using nextMXact if none are valid). Each backend is
* required not to attempt to access any SLRU data for MultiXactIds older
* than its own OldestVisibleMXactId[] setting; this is necessary because
* the checkpointer could truncate away such data at any instant.
2.
* We set the OldestVisibleMXactId for a given transaction the first time
* it's going to inspect any MultiXactId. Once we have set this, we are
* guaranteed that the checkpointer won't truncate off SLRU data for
* MultiXactIds at or after our OldestVisibleMXactId.
Regards,
Shi yu
On Tue, Jan 17, 2023 at 1:33 AM shiy.fnst@fujitsu.com
<shiy.fnst@fujitsu.com> wrote:
I noticed that commit 5212d447fa updated some comments in multixact.c because
SLRU truncation for multixacts is performed during VACUUM, instead of
checkpoint. Should the following comments which mentioned checkpointer be
changed, too?
Yes, I think so.
--
Peter Geoghegan
On Wed, Jan 18, 2023 6:04 AM Peter Geoghegan <pg@bowt.ie> wrote:
On Tue, Jan 17, 2023 at 1:33 AM shiy.fnst@fujitsu.com
<shiy.fnst@fujitsu.com> wrote:I noticed that commit 5212d447fa updated some comments in multixact.c
because
SLRU truncation for multixacts is performed during VACUUM, instead of
checkpoint. Should the following comments which mentioned checkpointer be
changed, too?Yes, I think so.
Thanks for your reply.
Attach a patch which fixed them.
Regards,
Shi yu
Attachments:
v1-0001-Update-comments-in-multixact.c.patchapplication/octet-stream; name=v1-0001-Update-comments-in-multixact.c.patchDownload
From cfb627fbe57c37667265be1cae161c2e507314a3 Mon Sep 17 00:00:00 2001
From: Shi Yu <shiy.fnst@fujitsu.com>
Date: Wed, 18 Jan 2023 10:08:23 +0800
Subject: [PATCH v1] Update comments in multixact.c
Update some comments in multixact.c because SLRU truncation for multixacts is
performed during VACUUM, instead of checkpoint.
---
src/backend/access/transam/multixact.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c
index e75e1fdf74..ec98885f97 100644
--- a/src/backend/access/transam/multixact.c
+++ b/src/backend/access/transam/multixact.c
@@ -261,7 +261,7 @@ typedef struct MultiXactStateData
* we compute it (using nextMXact if none are valid). Each backend is
* required not to attempt to access any SLRU data for MultiXactIds older
* than its own OldestVisibleMXactId[] setting; this is necessary because
- * the checkpointer could truncate away such data at any instant.
+ * the VACUUM could truncate away such data at any instant.
*
* The oldest valid value among all of the OldestMemberMXactId[] and
* OldestVisibleMXactId[] entries is considered by vacuum as the earliest
@@ -669,7 +669,7 @@ MultiXactIdSetOldestMember(void)
*
* We set the OldestVisibleMXactId for a given transaction the first time
* it's going to inspect any MultiXactId. Once we have set this, we are
- * guaranteed that the checkpointer won't truncate off SLRU data for
+ * guaranteed that the VACUUM won't truncate off SLRU data for
* MultiXactIds at or after our OldestVisibleMXactId.
*
* The value to set is the oldest of nextMXact and all the valid per-backend
--
2.31.1
On Wed, Jan 18, 2023 at 2:02 AM shiy.fnst@fujitsu.com
<shiy.fnst@fujitsu.com> wrote:
Thanks for your reply.
Attach a patch which fixed them.
Pushed something close to that just now. I decided that it was better
to not specify when truncation happened in these two places at all,
though. The important detail is that it can happen if certain rules
are not followed.
Thanks
--
Peter Geoghegan