Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Aleksander Alekseev <aleksander@timescale.com>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Cc: Pavel Borisov <pashkin.elfe@gmail.com>, Maxim Orlov <orlovmg@gmail.com>, Japin Li <japinli@hotmail.com>, Alexander Korotkov <aekorotkov@gmail.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, Ilya Anfimov <ilan@tzirechnoy.com>
Date: 2022-03-29T17:25:49Z
Lists: pgsql-hackers
On 29.03.22 15:09, Aleksander Alekseev wrote:
> Hi hackers,
> 
>> I took another look at the patchset. Personally I don't think it will get much
>> better than it is now. I'm inclined to change the status of the CF entry to
>> "Ready for Committer" unless anyone disagrees.
> 
>>> About v25-0002-Use-64-bit-format-to-output-XIDs.patch:
>>> I don't see the point of applying this now. It doesn't make PG15 any
>>> better. It's just a patch part of which we might need later.
>>
>> AFAICT, this patch provides no actual functionality change, so holding
>> it a bit for early in the PG16 cycle wouldn't lose anything.
> 
> OK. As I understand we still have a consensus that v30-0001 (SLRU refactoring,
> not the XID formatting) is targeting PG15, so I changed the CF entry to
> "Ready for Committer" for this single patch. I rechecked it again on the
> current `master` branch without the other patches and it is OK. cfbot is happy
> with the patchset as well.

That isn't really what I meant.  When I said

 > At this point, I'm more concerned that code review is still finding
 > bugs, and that we have no test coverage for any of this

this meant especially the SLRU refactoring patch.




Commits

  1. Fix more holes with SLRU code in need of int64 for segment numbers

  2. Use more consistently int64 for page numbers in SLRU-related code

  3. Improve comments in slru.{c,h} about segment name format

  4. Reorder actions in ProcArrayApplyRecoveryInfo()

  5. Fix typo in 5a1dfde8334b

  6. Fix warning due non-standard inline declaration in 4ed8f0913bfdb5f355

  7. Add SLRU tests for 64-bit page case

  8. Make use FullTransactionId in 2PC filenames

  9. Use larger segment file names for pg_notify

  10. Index SLRUs by 64-bit integers rather than by 32-bit integers

  11. Keep track of transaction commit timestamps

  12. Handle 5-char filenames in SlruScanDirectory