Re: Null commitTS bug

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: kingsboa@amazon.com, pgsql-hackers@lists.postgresql.org
Date: 2022-01-17T03:45:35Z
Lists: pgsql-hackers
On Mon, Jan 17, 2022 at 11:17:24AM +0900, Kyotaro Horiguchi wrote:
> At Fri, 14 Jan 2022 22:49:59 +0000, "Kingsborough, Alex" <kingsboa@amazon.com> wrote in 
>> The fix for this is very simple
>> 
>> 
>>   /* if we wrote out all subxids, we're done. /
>>   - if (j + 1 >= nsubxids)
>>   + if (j >= nsubxids)
>>   break;
> 
> It looks like a thinko and the fix is correct. (It's a matter of taste
> choosing between it and "j == nsubxids").

It took me some time to understand the problem from the current code,
but I'd like to think that the suggested fix is less confusing.

> I found some confusing lines around but they need not a fix
> considering back-patching conflict?
> 
>> for (i = 0, headxid = xid;;)
> ..
>> i += j - i + 1;

I am not sure.  Do you have anything specific in mind?  Perhaps
something that would help in making the code logic easier to follow?
--
Michael

Commits

  1. Fix one-off bug causing missing commit timestamps for subtransactions