At Thu, 28 Jul 2022 09:56:33 +0530, Ashutosh Bapat <ashutosh.ba...@enterprisedb.com> wrote in > Thanks Masahiko for the updated patch. It looks good to me. > > I wonder whether the logic should be, similar > to ProcArrayApplyRecoveryInfo() > if (xlrec->subxid_overflow) > ... > else if (xlrec->subxcnt > 0) > ... > > But you may ignore it.
Either is fine if we asuume the record is sound, but since it is debugging output, I think we should always output the information *for both* . The following change doesn't change the output for a sound record. ==== if (xlrec->subxcnt > 0) { appendStringInfo(buf, "; %d subxacts:", xlrec->subxcnt); for (i = 0; i < xlrec->subxcnt; i++) appendStringInfo(buf, " %u", xlrec->xids[xlrec->xcnt + i]); } - else if (xlrec->subxid_overflow) + if (xlrec->subxid_overflow) appendStringInfoString(buf, "; subxid overflowed"); ==== Another point is if the xid/subxid lists get long, I see it annoying that the "overflowed" messages goes far away to the end of the long line. Couldn't we rearrange the item order of the line as the follows? nextXid %u latestCompletedXid %u oldestRunningXid %u;[ subxid overflowed;][ %d xacts: %u %u ...;][ subxacts: %u %u ..] regards. -- Kyotaro Horiguchi NTT Open Source Software Center