From 96ed064bcfbce71eb75b72e9cb42fe248d6df2a1 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Mon, 28 Nov 2022 07:59:13 +0300 Subject: [PATCH 1/3] [PBCKP-354] fixing stuck test validate.ValidateTest.test_validate_wal_unreal_values This test stucks with vanilla dd38ff28 commit (https://github.com/postgres/postgres/commit/dd38ff28addc13594c0f9e2a62ef2ffa59230598) --- .travis.yml | 26 +++++++++++++++----------- src/parsexlog.c | 15 ++++----------- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8315f7842..632aa466d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,17 +26,21 @@ notifications: # Default MODE is basic, i.e. all tests with PG_PROBACKUP_TEST_BASIC=ON env: - - PG_VERSION=16 PG_BRANCH=master PTRACK_PATCH_PG_BRANCH=master - - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=REL_15_STABLE - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE PTRACK_PATCH_PG_BRANCH=REL_14_STABLE - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE PTRACK_PATCH_PG_BRANCH=REL_12_STABLE - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE PTRACK_PATCH_PG_BRANCH=REL_11_STABLE - - PG_VERSION=10 PG_BRANCH=REL_10_STABLE - - PG_VERSION=9.6 PG_BRANCH=REL9_6_STABLE - - PG_VERSION=9.5 PG_BRANCH=REL9_5_STABLE - - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=backup.BackupTest.test_full_backup - - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=backup.BackupTest.test_full_backup_stream +# - PG_VERSION=16 PG_BRANCH=master PTRACK_PATCH_PG_BRANCH=master +# - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=REL_15_STABLE +# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE PTRACK_PATCH_PG_BRANCH=REL_14_STABLE +# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE +# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE PTRACK_PATCH_PG_BRANCH=REL_12_STABLE +# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE PTRACK_PATCH_PG_BRANCH=REL_11_STABLE +# - PG_VERSION=10 PG_BRANCH=REL_10_STABLE +# - PG_VERSION=9.6 PG_BRANCH=REL9_6_STABLE +# - PG_VERSION=9.5 PG_BRANCH=REL9_5_STABLE + - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=14 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=13 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=12 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=11 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=10 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=backup # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=catchup # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=checkdb diff --git a/src/parsexlog.c b/src/parsexlog.c index f12aae904..e454e4491 100644 --- a/src/parsexlog.c +++ b/src/parsexlog.c @@ -5,7 +5,7 @@ * * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California - * Portions Copyright (c) 2015-2019, Postgres Professional + * Portions Copyright (c) 2015-2022, Postgres Professional * *------------------------------------------------------------------------- */ @@ -1424,14 +1424,6 @@ XLogThreadWorker(void *arg) elog(ERROR, "Thread [%d]: Interrupted during WAL reading", reader_data->thread_num); - /* - * We need to switch to the next WAL segment after reading previous - * record. It may happen if we read contrecord. - */ - if (reader_data->need_switch && - !SwitchThreadToNextWal(xlogreader, thread_arg)) - break; - record = WalReadRecord(xlogreader, thread_arg->startpoint, &errormsg); if (record == NULL) @@ -1439,11 +1431,12 @@ XLogThreadWorker(void *arg) XLogRecPtr errptr; /* - * There is no record, try to switch to the next WAL segment. + * We need to switch to the next WAL segment after reading previous + * record. It may happen if we read contrecord. * Usually SimpleXLogPageRead() does it by itself. But here we need * to do it manually to support threads. */ - if (reader_data->need_switch && errormsg == NULL) + if (reader_data->need_switch) { if (SwitchThreadToNextWal(xlogreader, thread_arg)) continue; From 55b4e2c2260a081945f2fed4610e5e819fb23534 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Mon, 28 Nov 2022 08:15:20 +0300 Subject: [PATCH 2/3] [PBCKP-354] fix .travis.yml --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 632aa466d..08511f956 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,11 +36,11 @@ env: # - PG_VERSION=9.6 PG_BRANCH=REL9_6_STABLE # - PG_VERSION=9.5 PG_BRANCH=REL9_5_STABLE - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=14 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=13 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=12 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=11 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=10 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=14 PG_BRANCH=REL_14_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=12 PG_BRANCH=REL_12_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=11 PG_BRANCH=REL_11_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=10 PG_BRANCH=REL_10_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=backup # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=catchup # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=checkdb From 349211b911a9a4c298046a3aab0966a36e7a94c4 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Mon, 28 Nov 2022 08:46:19 +0300 Subject: [PATCH 3/3] [PBCKP-354] revert .travis.yml --- .travis.yml | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index 08511f956..8315f7842 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,21 +26,17 @@ notifications: # Default MODE is basic, i.e. all tests with PG_PROBACKUP_TEST_BASIC=ON env: -# - PG_VERSION=16 PG_BRANCH=master PTRACK_PATCH_PG_BRANCH=master -# - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=REL_15_STABLE -# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE PTRACK_PATCH_PG_BRANCH=REL_14_STABLE -# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE -# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE PTRACK_PATCH_PG_BRANCH=REL_12_STABLE -# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE PTRACK_PATCH_PG_BRANCH=REL_11_STABLE -# - PG_VERSION=10 PG_BRANCH=REL_10_STABLE -# - PG_VERSION=9.6 PG_BRANCH=REL9_6_STABLE -# - PG_VERSION=9.5 PG_BRANCH=REL9_5_STABLE - - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values - - PG_VERSION=10 PG_BRANCH=REL_10_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=validate.ValidateTest.test_validate_wal_unreal_values + - PG_VERSION=16 PG_BRANCH=master PTRACK_PATCH_PG_BRANCH=master + - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=REL_15_STABLE + - PG_VERSION=14 PG_BRANCH=REL_14_STABLE PTRACK_PATCH_PG_BRANCH=REL_14_STABLE + - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE + - PG_VERSION=12 PG_BRANCH=REL_12_STABLE PTRACK_PATCH_PG_BRANCH=REL_12_STABLE + - PG_VERSION=11 PG_BRANCH=REL_11_STABLE PTRACK_PATCH_PG_BRANCH=REL_11_STABLE + - PG_VERSION=10 PG_BRANCH=REL_10_STABLE + - PG_VERSION=9.6 PG_BRANCH=REL9_6_STABLE + - PG_VERSION=9.5 PG_BRANCH=REL9_5_STABLE + - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=backup.BackupTest.test_full_backup + - PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=backup.BackupTest.test_full_backup_stream # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=backup # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=catchup # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=checkdb