checksums-extra-lwlock.patch
text/x-patch
Filename: checksums-extra-lwlock.patch
Type: text/x-patch
Part: 0
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 483e3ea77f5..cb1a77aabb8 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -4772,6 +4772,8 @@ SetDataChecksumsOnInProgress(void)
INJECTION_POINT_CACHED("datachecksums-enable-inprogress-checksums-before-xlog", NULL);
+ LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
XLogChecksums(PG_DATA_CHECKSUM_INPROGRESS_ON);
INJECTION_POINT_CACHED("datachecksums-enable-inprogress-checksums-after-xlog", NULL);
@@ -4781,6 +4783,8 @@ SetDataChecksumsOnInProgress(void)
XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_INPROGRESS_ON;
SpinLockRelease(&XLogCtl->info_lck);
+ LWLockRelease(ChecksumStateLock);
+
elog(LOG, "SetDataChecksumsOnInProgress XLogCtl->data_checksum_version %u => %u",
data_checksum_version, PG_DATA_CHECKSUM_INPROGRESS_ON);
@@ -4875,6 +4879,8 @@ SetDataChecksumsOn(void)
INJECTION_POINT_CACHED("datachecksums-enable-checksums-before-xlog", NULL);
+ LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
XLogChecksums(PG_DATA_CHECKSUM_VERSION);
INJECTION_POINT_CACHED("datachecksums-enable-checksums-after-xlog", NULL);
@@ -4884,6 +4890,8 @@ SetDataChecksumsOn(void)
XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_VERSION;
SpinLockRelease(&XLogCtl->info_lck);
+ LWLockRelease(ChecksumStateLock);
+
elog(LOG, "SetDataChecksumsOn / XLogCtl->data_checksum_version %u => %u",
data_checksum_version, PG_DATA_CHECKSUM_VERSION);
@@ -4980,6 +4988,8 @@ SetDataChecksumsOff(void)
INJECTION_POINT_CACHED("datachecksums-disable-inprogress-checksums-before-xlog", NULL);
+ LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
XLogChecksums(PG_DATA_CHECKSUM_INPROGRESS_OFF);
INJECTION_POINT_CACHED("datachecksums-disable-inprogress-checksums-after-xlog", NULL);
@@ -4989,6 +4999,8 @@ SetDataChecksumsOff(void)
XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_INPROGRESS_OFF;
SpinLockRelease(&XLogCtl->info_lck);
+ LWLockRelease(ChecksumStateLock);
+
elog(LOG, "SetDataChecksumsOff / XLogCtl->data_checksum_version %u => %u",
data_checksum_version, PG_DATA_CHECKSUM_INPROGRESS_OFF);
@@ -5050,6 +5062,8 @@ SetDataChecksumsOff(void)
INJECTION_POINT_CACHED("datachecksums-disable-checksums-before-xlog", NULL);
+ LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
XLogChecksums(PG_DATA_CHECKSUM_OFF);
INJECTION_POINT_CACHED("datachecksums-disable-checksums-after-xlog", NULL);
@@ -5059,6 +5073,8 @@ SetDataChecksumsOff(void)
XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_OFF;
SpinLockRelease(&XLogCtl->info_lck);
+ LWLockRelease(ChecksumStateLock);
+
elog(LOG, "SetDataChecksumsOff / XLogCtl->data_checksum_version %u => %u",
data_checksum_version, PG_DATA_CHECKSUM_OFF);
@@ -7771,6 +7787,9 @@ CreateCheckPoint(int flags)
INJECTION_POINT_CACHED("checkpoint-before-redo-checksums", NULL);
+ /* make XLogChecksums + XLogCtl update atomic */
+ LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
WALInsertLockAcquire();
redo_rec.wal_level = wal_level;
SpinLockAcquire(&XLogCtl->info_lck);
@@ -7785,6 +7804,8 @@ CreateCheckPoint(int flags)
XLogRegisterData(&redo_rec, sizeof(xl_checkpoint_redo));
(void) XLogInsert(RM_XLOG_ID, XLOG_CHECKPOINT_REDO);
+ LWLockRelease(ChecksumStateLock);
+
/*
* XLogInsertRecord will have updated XLogCtl->Insert.RedoRecPtr in
* shared memory and RedoRecPtr in backend-local memory, but we need
diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt
index 560659f9568..a9b1e213c7e 100644
--- a/src/backend/utils/activity/wait_event_names.txt
+++ b/src/backend/utils/activity/wait_event_names.txt
@@ -370,6 +370,7 @@ WaitLSN "Waiting to read or update shared Wait-for-LSN state."
LogicalDecodingControl "Waiting to read or update logical decoding status information."
DataChecksumsWorker "Waiting for data checksums worker."
AioWorkerControl "Waiting to update AIO worker information."
+ChecksumState "Waiting to update data checksum state."
#
# END OF PREDEFINED LWLOCKS (DO NOT CHANGE THIS LINE)
diff --git a/src/include/storage/lwlocklist.h b/src/include/storage/lwlocklist.h
index d7eb648bd27..2e566c4cbe3 100644
--- a/src/include/storage/lwlocklist.h
+++ b/src/include/storage/lwlocklist.h
@@ -89,6 +89,7 @@ PG_LWLOCK(54, WaitLSN)
PG_LWLOCK(55, LogicalDecodingControl)
PG_LWLOCK(56, DataChecksumsWorker)
PG_LWLOCK(57, AioWorkerControl)
+PG_LWLOCK(58, ChecksumState)
/*
* There also exist several built-in LWLock tranches. As with the predefined
diff --git a/src/test/modules/test_checksums/t/011_concurrent_checkpoint.pl b/src/test/modules/test_checksums/t/011_concurrent_checkpoint.pl
index 4cea74914d4..c6f7842caa9 100644
--- a/src/test/modules/test_checksums/t/011_concurrent_checkpoint.pl
+++ b/src/test/modules/test_checksums/t/011_concurrent_checkpoint.pl
@@ -245,13 +245,13 @@ sub test_checksum_transition
# concurrent enable + checkpoint, different injection points in the "enable" process
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-start', 'on');
-test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'on');
+#test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'on');
test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlogctl', 'on');
test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-controlfile', 'on');
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-before-barrier-wait', 'on');
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-end', 'on');
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-checksums-start', 'on');
-test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'on');
+#test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'on');
test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlogctl', 'on');
test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-controlfile', 'on');
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-checksums-before-checkpoint', 'on');
@@ -260,12 +260,12 @@ test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-chec
# concurrent disable + checkpoint, different injection points in the "disable" process
test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-inprogress-checksums-start', 'off');
-test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'off');
+#test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'off');
test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlogctl', 'off');
test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-controlfile', 'off');
test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-inprogress-checksums-before-barrier-wait', 'off');
test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-checksums-start', 'off');
-test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'off');
+#test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'off');
test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlogctl', 'off');
test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-controlfile', 'off');
test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-checksums-before-checkpoint', 'off');
diff --git a/src/test/modules/test_checksums/t/012_concurrent_checkpoint_crash.pl b/src/test/modules/test_checksums/t/012_concurrent_checkpoint_crash.pl
index de169f47034..77c34b8b16d 100644
--- a/src/test/modules/test_checksums/t/012_concurrent_checkpoint_crash.pl
+++ b/src/test/modules/test_checksums/t/012_concurrent_checkpoint_crash.pl
@@ -251,13 +251,13 @@ sub test_checksum_transition
# concurrent enable + checkpoint, different injection points in the "enable" process
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'off');
-test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'datachecksums-enable-inprogress-checksums-after-xlogctl', 'off');
+#test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'datachecksums-enable-inprogress-checksums-after-xlogctl', 'off');
test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlogctl', 'datachecksums-enable-inprogress-checksums-after-controlfile', 'off');
test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-controlfile', 'datachecksums-enable-inprogress-checksums-before-barrier-wait', 'off');
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-before-barrier-wait', 'datachecksums-enable-inprogress-checksums-end', 'off');
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-end', 'datachecksums-enable-checksums-start', 'off');
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'on');
-test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'datachecksums-enable-checksums-after-xlogctl', 'off');
+#test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'datachecksums-enable-checksums-after-xlogctl', 'off');
test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlogctl', 'datachecksums-enable-checksums-after-controlfile', 'on');
test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-controlfile', 'datachecksums-enable-checksums-before-checkpoint', 'on');
test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-checksums-before-checkpoint', 'datachecksums-enable-checksums-before-barrier-wait', 'on');
@@ -266,12 +266,12 @@ test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-chec
# concurrent disable + checkpoint, different injection points in the "disable" process
test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'off');
-test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'datachecksums-disable-inprogress-checksums-after-xlogctl', 'on');
+#test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'datachecksums-disable-inprogress-checksums-after-xlogctl', 'on');
test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlogctl', 'datachecksums-disable-inprogress-checksums-after-controlfile', 'off');
test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-controlfile', 'datachecksums-disable-inprogress-checksums-before-barrier-wait', 'off');
test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-inprogress-checksums-before-barrier-wait', 'datachecksums-disable-checksums-start', 'off');
test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'off');
-test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'datachecksums-disable-checksums-after-xlogctl', 'off');
+#test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'datachecksums-disable-checksums-after-xlogctl', 'off');
test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlogctl', 'datachecksums-disable-checksums-after-controlfile', 'off');
test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-controlfile', 'datachecksums-disable-checksums-before-checkpoint', 'off');
test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-checksums-before-checkpoint', 'datachecksums-disable-checksums-before-barrier-wait', 'off');
diff --git a/src/test/modules/test_checksums/t/013_async_checkpoint_crash.pl b/src/test/modules/test_checksums/t/013_async_checkpoint_crash.pl
index 4a310506482..0c59f6d4095 100644
--- a/src/test/modules/test_checksums/t/013_async_checkpoint_crash.pl
+++ b/src/test/modules/test_checksums/t/013_async_checkpoint_crash.pl
@@ -349,20 +349,20 @@ note('TEST INPROGRESS-ON/5');
datachecksums-enable-inprogress-checksums-after-controlfile);
test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-end', 'off', @steps);
-note('TEST INPROGRESS-ON/6');
-@steps = qw(create-checkpoint-initial
- checkpoint-before-redo
- checkpoint-before-xlogctl-checksums
- checkpoint-after-xlogctl-checksums
- checkpoint-before-redo-checksums
- datachecksums-enable-inprogress-checksums-before-xlog
- datachecksums-enable-inprogress-checksums-after-xlog
- datachecksums-enable-inprogress-checksums-after-xlogctl
- datachecksums-enable-inprogress-checksums-after-controlfile
- checkpoint-before-redo-wal
- checkpoint-after-redo-wal
- checkpoint-before-old-wal-removal);
-test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-end', 'off', @steps);
+#note('TEST INPROGRESS-ON/6');
+#@steps = qw(create-checkpoint-initial
+# checkpoint-before-redo
+# checkpoint-before-xlogctl-checksums
+# checkpoint-after-xlogctl-checksums
+# checkpoint-before-redo-checksums
+# datachecksums-enable-inprogress-checksums-before-xlog
+# datachecksums-enable-inprogress-checksums-after-xlog
+# datachecksums-enable-inprogress-checksums-after-xlogctl
+# datachecksums-enable-inprogress-checksums-after-controlfile
+# checkpoint-before-redo-wal
+# checkpoint-after-redo-wal
+# checkpoint-before-old-wal-removal);
+#test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-end', 'off', @steps);
## checksums ON
@@ -395,20 +395,20 @@ note('TEST ON/2');
datachecksums-enable-checksums-after-controlfile);
test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-end', 'on', @steps);
-note('TEST ON/3');
-@steps = qw(create-checkpoint-initial
- checkpoint-before-redo
- checkpoint-before-xlogctl-checksums
- checkpoint-after-xlogctl-checksums
- checkpoint-before-redo-checksums
- datachecksums-enable-checksums-before-xlog
- datachecksums-enable-checksums-after-xlog
- checkpoint-before-redo-wal
- checkpoint-after-redo-wal
- checkpoint-before-old-wal-removal
- datachecksums-enable-checksums-after-xlogctl
- datachecksums-enable-checksums-after-controlfile);
-test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-end', 'on', @steps);
+#note('TEST ON/3');
+#@steps = qw(create-checkpoint-initial
+# checkpoint-before-redo
+# checkpoint-before-xlogctl-checksums
+# checkpoint-after-xlogctl-checksums
+# checkpoint-before-redo-checksums
+# datachecksums-enable-checksums-before-xlog
+# datachecksums-enable-checksums-after-xlog
+# checkpoint-before-redo-wal
+# checkpoint-after-redo-wal
+# checkpoint-before-old-wal-removal
+# datachecksums-enable-checksums-after-xlogctl
+# datachecksums-enable-checksums-after-controlfile);
+#test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-end', 'on', @steps);
note('TEST ON/4');
@steps = qw(create-checkpoint-initial
@@ -462,39 +462,39 @@ note('TEST INPROGRESS-OFF/2');
datachecksums-disable-inprogress-checksums-before-barrier-wait);
test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
-note('TEST INPROGRESS-OFF/3');
-@steps = qw(create-checkpoint-initial
- checkpoint-before-redo
- checkpoint-before-xlogctl-checksums
- checkpoint-after-xlogctl-checksums
- checkpoint-before-redo-checksums
- datachecksums-disable-inprogress-checksums-before-xlog
- datachecksums-disable-inprogress-checksums-after-xlog
- checkpoint-before-redo-wal
- checkpoint-after-redo-wal
- checkpoint-before-old-wal-removal
- datachecksums-disable-inprogress-checksums-after-xlogctl
- datachecksums-disable-inprogress-checksums-after-controlfile
- datachecksums-disable-inprogress-checksums-before-checkpoint
- datachecksums-disable-inprogress-checksums-before-barrier-wait);
-test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
-
-note('TEST INPROGRESS-OFF/4');
-@steps = qw(create-checkpoint-initial
- checkpoint-before-redo
- checkpoint-before-xlogctl-checksums
- checkpoint-after-xlogctl-checksums
- checkpoint-before-redo-checksums
- datachecksums-disable-inprogress-checksums-before-xlog
- datachecksums-disable-inprogress-checksums-after-xlog
- datachecksums-disable-inprogress-checksums-after-xlogctl
- datachecksums-disable-inprogress-checksums-after-controlfile
- datachecksums-disable-inprogress-checksums-before-checkpoint
- checkpoint-before-redo-wal
- checkpoint-after-redo-wal
- checkpoint-before-old-wal-removal
- datachecksums-disable-inprogress-checksums-before-barrier-wait);
-test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
+#note('TEST INPROGRESS-OFF/3');
+#@steps = qw(create-checkpoint-initial
+# checkpoint-before-redo
+# checkpoint-before-xlogctl-checksums
+# checkpoint-after-xlogctl-checksums
+# checkpoint-before-redo-checksums
+# datachecksums-disable-inprogress-checksums-before-xlog
+# datachecksums-disable-inprogress-checksums-after-xlog
+# checkpoint-before-redo-wal
+# checkpoint-after-redo-wal
+# checkpoint-before-old-wal-removal
+# datachecksums-disable-inprogress-checksums-after-xlogctl
+# datachecksums-disable-inprogress-checksums-after-controlfile
+# datachecksums-disable-inprogress-checksums-before-checkpoint
+# datachecksums-disable-inprogress-checksums-before-barrier-wait);
+#test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
+
+#note('TEST INPROGRESS-OFF/4');
+#@steps = qw(create-checkpoint-initial
+# checkpoint-before-redo
+# checkpoint-before-xlogctl-checksums
+# checkpoint-after-xlogctl-checksums
+# checkpoint-before-redo-checksums
+# datachecksums-disable-inprogress-checksums-before-xlog
+# datachecksums-disable-inprogress-checksums-after-xlog
+# datachecksums-disable-inprogress-checksums-after-xlogctl
+# datachecksums-disable-inprogress-checksums-after-controlfile
+# datachecksums-disable-inprogress-checksums-before-checkpoint
+# checkpoint-before-redo-wal
+# checkpoint-after-redo-wal
+# checkpoint-before-old-wal-removal
+# datachecksums-disable-inprogress-checksums-before-barrier-wait);
+#test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
## checksums OFF
@@ -532,22 +532,22 @@ note('TEST OFF/2');
datachecksums-disable-checksums-before-barrier-wait);
test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
-note('TEST OFF/3');
-@steps = qw(create-checkpoint-initial
- checkpoint-before-redo
- checkpoint-before-xlogctl-checksums
- checkpoint-after-xlogctl-checksums
- checkpoint-before-redo-checksums
- datachecksums-disable-checksums-before-xlog
- datachecksums-disable-checksums-after-xlog
- checkpoint-before-redo-wal
- checkpoint-after-redo-wal
- datachecksums-disable-checksums-after-xlogctl
- datachecksums-disable-checksums-after-controlfile
- datachecksums-disable-checksums-before-checkpoint
- checkpoint-before-old-wal-removal
- datachecksums-disable-checksums-before-barrier-wait);
-test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
+#note('TEST OFF/3');
+#@steps = qw(create-checkpoint-initial
+# checkpoint-before-redo
+# checkpoint-before-xlogctl-checksums
+# checkpoint-after-xlogctl-checksums
+# checkpoint-before-redo-checksums
+# datachecksums-disable-checksums-before-xlog
+# datachecksums-disable-checksums-after-xlog
+# checkpoint-before-redo-wal
+# checkpoint-after-redo-wal
+# datachecksums-disable-checksums-after-xlogctl
+# datachecksums-disable-checksums-after-controlfile
+# datachecksums-disable-checksums-before-checkpoint
+# checkpoint-before-old-wal-removal
+# datachecksums-disable-checksums-before-barrier-wait);
+#test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
note('TEST OFF/4');
@steps = qw(create-checkpoint-initial
@@ -566,22 +566,22 @@ note('TEST OFF/4');
datachecksums-disable-checksums-before-barrier-wait);
test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
-note('TEST OFF/5');
-@steps = qw(create-checkpoint-initial
- checkpoint-before-redo
- checkpoint-before-xlogctl-checksums
- checkpoint-after-xlogctl-checksums
- checkpoint-before-redo-checksums
- datachecksums-disable-checksums-before-xlog
- datachecksums-disable-checksums-after-xlog
- checkpoint-before-redo-wal
- checkpoint-after-redo-wal
- datachecksums-disable-checksums-after-xlogctl
- datachecksums-disable-checksums-after-controlfile
- datachecksums-disable-checksums-before-checkpoint
- checkpoint-before-old-wal-removal
- datachecksums-disable-checksums-before-barrier-wait);
-test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
+#note('TEST OFF/5');
+#@steps = qw(create-checkpoint-initial
+# checkpoint-before-redo
+# checkpoint-before-xlogctl-checksums
+# checkpoint-after-xlogctl-checksums
+# checkpoint-before-redo-checksums
+# datachecksums-disable-checksums-before-xlog
+# datachecksums-disable-checksums-after-xlog
+# checkpoint-before-redo-wal
+# checkpoint-after-redo-wal
+# datachecksums-disable-checksums-after-xlogctl
+# datachecksums-disable-checksums-after-controlfile
+# datachecksums-disable-checksums-before-checkpoint
+# checkpoint-before-old-wal-removal
+# datachecksums-disable-checksums-before-barrier-wait);
+#test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
note('TEST OFF/6');
@steps = qw(create-checkpoint-initial