Hi,

On 2020-07-30 13:18:01 -0700, Mark Dilger wrote:
> Per tuple, tuple_is_visible() potentially checks whether the xmin or xmax 
> committed via TransactionIdDidCommit.  I am worried about concurrent 
> truncation of clog entries causing I/O errors on SLRU lookup when performing 
> that check.  The three strategies I had for dealing with that were taking the 
> XactTruncationLock (formerly known as CLogTruncationLock, for those reading 
> this thread from the beginning), locking out vacuum, and the idea upthread 
> from Andres about setting PROC_IN_VACUUM and such.  Maybe I'm being dense and 
> don't need to worry about this.  But I haven't convinced myself of that, yet.

I think it's not at all ok to look in the procarray or clog for xids
that are older than what you're announcing you may read. IOW I don't
think it's OK to just ignore the problem, or try to work around it by
holding XactTruncationLock.

Greetings,

Andres Freund


Reply via email to