RE: [PoC] pg_upgrade: allow to upgrade publisher node
Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>
From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'Peter Eisentraut' <peter.eisentraut@enterprisedb.com>, 'Julien Rouhaud' <rjuju123@gmail.com>
Cc: 'vignesh C' <vignesh21@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Amit Kapila <amit.kapila16@gmail.com>
Date: 2023-04-26T12:00:08Z
Lists: pgsql-hackers
Attachments
- v10-0001-pg_upgrade-Add-include-logical-replication-slots.patch (application/octet-stream) patch v10-0001
- v10-0002-Always-persist-to-disk-logical-slots-during-a-sh.patch (application/octet-stream) patch v10-0002
- v10-0003-pg_upgrade-Add-check-function-for-include-logica.patch (application/octet-stream) patch v10-0003
- v10-0004-Change-the-method-used-to-check-logical-replicat.patch (application/octet-stream) patch v10-0004
Dear Peter, > A suggestion: You could write some/most tests against test_decoding > rather than the publication/subscription system. That way, you can > avoid many timing issues in the tests and you can check more exactly > that the slots produce the output you want. This would also help ensure > that this new facility works for other logical decoding output plugins > besides the built-in one. Good point. I think almost tests except --check part can be rewritten. PSA new patchset. Additionally, I fixed followings: - Added initialization for slot_arr.*. This is needed to check whether the entry has already been allocated, in get_logical_slot_infos(). Previously double-free was occurred in some platform. - fixed condition in get_logical_slot_infos() - Changed the expected size of page header to longer one(SizeOfXLogLongPHD). If the WAL page is the first one in the WAL segment file, the long header seems to be used. Best Regards, Hayato Kuroda FUJITSU LIMITED
Commits
-
Fix issues in binary_upgrade_logical_slot_has_caught_up().
- 0bf62460bb9e 17.0 landed
-
Fix a random failure in 003_logical_slots.pl.
- 63c5df126abb 17.0 landed
-
Fix a test in 003_logical_slots.
- 3e36e48d8efe 17.0 landed
-
Fix uninitialized slot array access during the upgrade.
- a7db71ed2787 17.0 landed
-
Fix the test 003_logical_slots.
- 8af917be6bad 17.0 landed
-
Commit b195e6d482 forgot to update meson.build.
- 8949b978ff49 17.0 landed
-
Use shorter file names in the upgrade logical slots test.
- b195e6d482b8 17.0 landed
-
Migrate logical slots to the new node during an upgrade.
- 29d0a77fa660 17.0 landed
-
Flush logical slots to disk during a shutdown checkpoint if required.
- e0b2eed047df 17.0 landed
-
Prevent possibility of panics during shutdown checkpoint.
- c6c333436491 10.0 cited