diff --git a/doc/xml/release.xml b/doc/xml/release.xml index 111cefa62..105a60422 100644 --- a/doc/xml/release.xml +++ b/doc/xml/release.xml @@ -76,6 +76,14 @@

Improve error when hostname cannot be found in a certificate.

+ + + + + + +

Add additional options to backup.manifest for debugging purposes.

+
diff --git a/lib/pgBackRest/Backup/Backup.pm b/lib/pgBackRest/Backup/Backup.pm index 1c11bdd44..dad38579b 100644 --- a/lib/pgBackRest/Backup/Backup.pm +++ b/lib/pgBackRest/Backup/Backup.pm @@ -778,7 +778,12 @@ sub process $oBackupManifest->set(MANIFEST_SECTION_BACKUP, MANIFEST_KEY_TYPE, undef, $strType); $oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP, MANIFEST_KEY_TIMESTAMP_START, undef, $lTimestampStart); $oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_BACKUP_STANDBY, undef, cfgOption(CFGOPT_BACKUP_STANDBY)); + $oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_BUFFER_SIZE, undef, cfgOption(CFGOPT_BUFFER_SIZE)); $oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS, undef, $bCompress); + $oBackupManifest->numericSet( + MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS_LEVEL, undef, cfgOption(CFGOPT_COMPRESS_LEVEL)); + $oBackupManifest->numericSet( + MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS_LEVEL_NETWORK, undef, cfgOption(CFGOPT_COMPRESS_LEVEL_NETWORK)); $oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_HARDLINK, undef, $bHardLink); $oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_ONLINE, undef, cfgOption(CFGOPT_ONLINE)); $oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_ARCHIVE_COPY, undef, @@ -786,6 +791,7 @@ sub process (cfgOption(CFGOPT_ARCHIVE_CHECK) && cfgOption(CFGOPT_ARCHIVE_COPY))); $oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_ARCHIVE_CHECK, undef, !cfgOption(CFGOPT_ONLINE) || cfgOption(CFGOPT_ARCHIVE_CHECK)); + $oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_PROCESS_MAX, undef, cfgOption(CFGOPT_PROCESS_MAX)); # Database settings $oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_DB, MANIFEST_KEY_DB_ID, undef, $iDbHistoryId); diff --git a/lib/pgBackRest/Manifest.pm b/lib/pgBackRest/Manifest.pm index c9607a587..896f597ae 100644 --- a/lib/pgBackRest/Manifest.pm +++ b/lib/pgBackRest/Manifest.pm @@ -103,14 +103,22 @@ use constant MANIFEST_KEY_ARCHIVE_CHECK => 'option-' push @EXPORT, qw(MANIFEST_KEY_ARCHIVE_CHECK); use constant MANIFEST_KEY_ARCHIVE_COPY => 'option-' .cfgOptionName(CFGOPT_ARCHIVE_COPY); push @EXPORT, qw(MANIFEST_KEY_ARCHIVE_COPY); +use constant MANIFEST_KEY_BUFFER_SIZE => 'option-' . cfgOptionName(CFGOPT_BUFFER_SIZE); + push @EXPORT, qw(MANIFEST_KEY_BUFFER_SIZE); use constant MANIFEST_KEY_CHECKSUM_PAGE => 'option-' . cfgOptionName(CFGOPT_CHECKSUM_PAGE); push @EXPORT, qw(MANIFEST_KEY_CHECKSUM_PAGE); use constant MANIFEST_KEY_COMPRESS => 'option-' . cfgOptionName(CFGOPT_COMPRESS); push @EXPORT, qw(MANIFEST_KEY_COMPRESS); +use constant MANIFEST_KEY_COMPRESS_LEVEL => 'option-' . cfgOptionName(CFGOPT_COMPRESS_LEVEL); + push @EXPORT, qw(MANIFEST_KEY_COMPRESS_LEVEL); +use constant MANIFEST_KEY_COMPRESS_LEVEL_NETWORK => 'option-' . cfgOptionName(CFGOPT_COMPRESS_LEVEL_NETWORK); + push @EXPORT, qw(MANIFEST_KEY_COMPRESS_LEVEL_NETWORK); use constant MANIFEST_KEY_ONLINE => 'option-' . cfgOptionName(CFGOPT_ONLINE); push @EXPORT, qw(MANIFEST_KEY_ONLINE); use constant MANIFEST_KEY_DELTA => 'option-' . cfgOptionName(CFGOPT_DELTA); push @EXPORT, qw(MANIFEST_KEY_DELTA); +use constant MANIFEST_KEY_PROCESS_MAX => 'option-' . cfgOptionName(CFGOPT_PROCESS_MAX); + push @EXPORT, qw(MANIFEST_KEY_PROCESS_MAX); # Information about the database that was backed up use constant MANIFEST_KEY_DB_ID => 'db-id'; diff --git a/src/perl/embed.auto.c b/src/perl/embed.auto.c index 05f120016..105c71f75 100644 --- a/src/perl/embed.auto.c +++ b/src/perl/embed.auto.c @@ -2353,7 +2353,12 @@ static const EmbeddedModule embeddedModule[] = "$oBackupManifest->set(MANIFEST_SECTION_BACKUP, MANIFEST_KEY_TYPE, undef, $strType);\n" "$oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP, MANIFEST_KEY_TIMESTAMP_START, undef, $lTimestampStart);\n" "$oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_BACKUP_STANDBY, undef, cfgOption(CFGOPT_BACKUP_STANDBY));\n" + "$oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_BUFFER_SIZE, undef, cfgOption(CFGOPT_BUFFER_SIZE));\n" "$oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS, undef, $bCompress);\n" + "$oBackupManifest->numericSet(\n" + "MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS_LEVEL, undef, cfgOption(CFGOPT_COMPRESS_LEVEL));\n" + "$oBackupManifest->numericSet(\n" + "MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS_LEVEL_NETWORK, undef, cfgOption(CFGOPT_COMPRESS_LEVEL_NETWORK));\n" "$oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_HARDLINK, undef, $bHardLink);\n" "$oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_ONLINE, undef, cfgOption(CFGOPT_ONLINE));\n" "$oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_ARCHIVE_COPY, undef,\n" @@ -2361,6 +2366,7 @@ static const EmbeddedModule embeddedModule[] = "(cfgOption(CFGOPT_ARCHIVE_CHECK) && cfgOption(CFGOPT_ARCHIVE_COPY)));\n" "$oBackupManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_ARCHIVE_CHECK, undef,\n" "!cfgOption(CFGOPT_ONLINE) || cfgOption(CFGOPT_ARCHIVE_CHECK));\n" + "$oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_PROCESS_MAX, undef, cfgOption(CFGOPT_PROCESS_MAX));\n" "\n\n" "$oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_DB, MANIFEST_KEY_DB_ID, undef, $iDbHistoryId);\n" "$oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_DB, MANIFEST_KEY_CONTROL, undef, $iControlVersion);\n" @@ -10843,14 +10849,22 @@ static const EmbeddedModule embeddedModule[] = "push @EXPORT, qw(MANIFEST_KEY_ARCHIVE_CHECK);\n" "use constant MANIFEST_KEY_ARCHIVE_COPY => 'option-' .cfgOptionName(CFGOPT_ARCHIVE_COPY);\n" "push @EXPORT, qw(MANIFEST_KEY_ARCHIVE_COPY);\n" + "use constant MANIFEST_KEY_BUFFER_SIZE => 'option-' . cfgOptionName(CFGOPT_BUFFER_SIZE);\n" + "push @EXPORT, qw(MANIFEST_KEY_BUFFER_SIZE);\n" "use constant MANIFEST_KEY_CHECKSUM_PAGE => 'option-' . cfgOptionName(CFGOPT_CHECKSUM_PAGE);\n" "push @EXPORT, qw(MANIFEST_KEY_CHECKSUM_PAGE);\n" "use constant MANIFEST_KEY_COMPRESS => 'option-' . cfgOptionName(CFGOPT_COMPRESS);\n" "push @EXPORT, qw(MANIFEST_KEY_COMPRESS);\n" + "use constant MANIFEST_KEY_COMPRESS_LEVEL => 'option-' . cfgOptionName(CFGOPT_COMPRESS_LEVEL);\n" + "push @EXPORT, qw(MANIFEST_KEY_COMPRESS_LEVEL);\n" + "use constant MANIFEST_KEY_COMPRESS_LEVEL_NETWORK => 'option-' . cfgOptionName(CFGOPT_COMPRESS_LEVEL_NETWORK);\n" + "push @EXPORT, qw(MANIFEST_KEY_COMPRESS_LEVEL_NETWORK);\n" "use constant MANIFEST_KEY_ONLINE => 'option-' . cfgOptionName(CFGOPT_ONLINE);\n" "push @EXPORT, qw(MANIFEST_KEY_ONLINE);\n" "use constant MANIFEST_KEY_DELTA => 'option-' . cfgOptionName(CFGOPT_DELTA);\n" "push @EXPORT, qw(MANIFEST_KEY_DELTA);\n" + "use constant MANIFEST_KEY_PROCESS_MAX => 'option-' . cfgOptionName(CFGOPT_PROCESS_MAX);\n" + "push @EXPORT, qw(MANIFEST_KEY_PROCESS_MAX);\n" "\n\n" "use constant MANIFEST_KEY_DB_ID => 'db-id';\n" "push @EXPORT, qw(MANIFEST_KEY_DB_ID);\n" diff --git a/test/expect/mock-all-001.log b/test/expect/mock-all-001.log index 129f6889c..f5496903a 100644 --- a/test/expect/mock-all-001.log +++ b/test/expect/mock-all-001.log @@ -419,11 +419,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=16384 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=false option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -1110,11 +1114,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -2282,11 +2290,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=false option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -2797,11 +2809,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -2994,11 +3010,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -3186,11 +3206,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -3767,11 +3791,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=false option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -4034,11 +4062,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -4228,11 +4260,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -4401,11 +4437,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=false option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -4598,11 +4638,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=3 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -4788,11 +4832,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=false option-compress=true +option-compress-level=3 +option-compress-level-network=3 option-delta=false option-hardlink=true option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -5342,11 +5390,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=false option-compress=true +option-compress-level=3 +option-compress-level-network=3 option-delta=false option-hardlink=true option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -5830,11 +5882,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=false option-compress=true +option-compress-level=3 +option-compress-level-network=3 option-delta=false option-hardlink=true option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2/base","type":"path"} @@ -5999,11 +6055,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=false option-compress=true +option-compress-level=3 +option-compress-level-network=3 option-delta=false option-hardlink=true option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2/base","type":"path"} diff --git a/test/expect/mock-all-002.log b/test/expect/mock-all-002.log index 723b0d691..4ddf0c5ac 100644 --- a/test/expect/mock-all-002.log +++ b/test/expect/mock-all-002.log @@ -165,11 +165,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=16384 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=false option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -348,11 +352,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=false option-hardlink=false option-online=false +option-process-max=2 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -636,11 +644,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=false option-hardlink=false option-online=false +option-process-max=2 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -830,11 +842,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -1034,11 +1050,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -1234,11 +1254,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base","type":"path"} @@ -1455,11 +1479,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=false option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -1677,11 +1705,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=true option-hardlink=false option-online=false +option-process-max=2 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -1878,11 +1910,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -2077,11 +2113,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=false option-hardlink=false option-online=false +option-process-max=2 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -2280,11 +2320,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=true option-compress=false +option-compress-level=3 +option-compress-level-network=1 option-delta=true option-hardlink=false option-online=false +option-process-max=1 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -2475,11 +2519,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=false option-compress=true +option-compress-level=3 +option-compress-level-network=1 option-delta=false option-hardlink=false option-online=false +option-process-max=2 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -3031,11 +3079,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=false option-compress=true +option-compress-level=3 +option-compress-level-network=1 option-delta=false option-hardlink=false option-online=false +option-process-max=2 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2","type":"path"} @@ -3408,11 +3460,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=false option-compress=true +option-compress-level=3 +option-compress-level-network=1 option-delta=false option-hardlink=false option-online=false +option-process-max=2 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2/base","type":"path"} @@ -3610,11 +3666,15 @@ db-version="9.4" option-archive-check=true option-archive-copy=true option-backup-standby=false +option-buffer-size=4194304 option-checksum-page=false option-compress=true +option-compress-level=3 +option-compress-level-network=1 option-delta=false option-hardlink=false option-online=false +option-process-max=2 [backup:target] pg_data={"path":"[TEST_PATH]/db-master/db/base-2/base","type":"path"} diff --git a/test/lib/pgBackRestTest/Env/Host/HostBackupTest.pm b/test/lib/pgBackRestTest/Env/Host/HostBackupTest.pm index 3c0c63b78..5b731dbfc 100644 --- a/test/lib/pgBackRestTest/Env/Host/HostBackupTest.pm +++ b/test/lib/pgBackRestTest/Env/Host/HostBackupTest.pm @@ -1938,12 +1938,20 @@ sub restoreCompare ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_ARCHIVE_COPY}); $oActualManifest->set(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_BACKUP_STANDBY, undef, ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_BACKUP_STANDBY}); + $oActualManifest->set(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_BUFFER_SIZE, undef, + ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_BUFFER_SIZE}); $oActualManifest->set(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS, undef, ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_COMPRESS}); + $oActualManifest->set(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS_LEVEL, undef, + ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_COMPRESS_LEVEL}); + $oActualManifest->set(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS_LEVEL_NETWORK, undef, + ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_COMPRESS_LEVEL_NETWORK}); $oActualManifest->set(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_HARDLINK, undef, ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_HARDLINK}); $oActualManifest->set(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_ONLINE, undef, ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_ONLINE}); + $oActualManifest->set(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_PROCESS_MAX, undef, + ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX}); $oActualManifest->boolSet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_DELTA, undef, ${$oExpectedManifestRef}{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_DELTA}); diff --git a/test/lib/pgBackRestTest/Module/Mock/MockAllTest.pm b/test/lib/pgBackRestTest/Module/Mock/MockAllTest.pm index b5f06e8a0..ad421a3dd 100644 --- a/test/lib/pgBackRestTest/Module/Mock/MockAllTest.pm +++ b/test/lib/pgBackRestTest/Module/Mock/MockAllTest.pm @@ -115,10 +115,14 @@ sub run $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_ARCHIVE_CHECK} = JSON::PP::true; $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_ARCHIVE_COPY} = JSON::PP::true; $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_BACKUP_STANDBY} = JSON::PP::false; + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_BUFFER_SIZE} = 16384; $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_CHECKSUM_PAGE} = JSON::PP::true; $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_COMPRESS} = JSON::PP::false; + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_COMPRESS_LEVEL} = 3; + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_COMPRESS_LEVEL_NETWORK} = $bRemote ? 1 : 3; $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_HARDLINK} = JSON::PP::false; $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_ONLINE} = JSON::PP::false; + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = $bS3 ? 2 : 1; $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_DELTA} = JSON::PP::false; if ($bEncrypt) @@ -385,6 +389,8 @@ sub run $oHostDbMaster->manifestFileCreate( \%oManifest, MANIFEST_TARGET_PGDATA, 'special-@!#$^&*()-_+~`{}[]\|:;"<>\',.?%', undef, undef, $lTime, undef, true); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = 1; + $strFullBackup = $oHostBackup->backup( $strType, 'create pg_stat link, pg_clog dir', {oExpectedManifest => \%oManifest, @@ -399,6 +405,9 @@ sub run ' --' . cfgOptionName(CFGOPT_PROCESS_MAX) . '=1', strRepoType => $bS3 ? undef : CFGOPTVAL_REPO_TYPE_CIFS, strTest => $strTestPoint, fTestDelay => 0}); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = $bS3 ? 2 : 1; + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_BUFFER_SIZE} = 4194304; + # Error on backup option to check logging #--------------------------------------------------------------------------------------------------------------------------- if (!$bRemote) @@ -1000,11 +1009,15 @@ sub run delete($oManifest{&MANIFEST_SECTION_TARGET_FILE}{'pg_data/changecontent.txt'}{&MANIFEST_SUBKEY_REFERENCE}); $oManifest{&MANIFEST_SECTION_TARGET_FILE}{'pg_data/changetime.txt'}{&MANIFEST_SUBKEY_TIMESTAMP} = $lTime - 100; + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = 1; + $strBackup = $oHostBackup->backup( $strType, 'resume and add tablespace 2', {oExpectedManifest => \%oManifest, strTest => TEST_BACKUP_RESUME, strOptionalParam => '--' . cfgOptionName(CFGOPT_PROCESS_MAX) . '=1' . ($bDeltaBackup ? ' --delta' : '')}); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = $bS3 ? 2 : 1; + if (!$bRemote) { # Remove the size-changed test file to avoid expect log churn @@ -1025,12 +1038,16 @@ sub run forceStorageRemove(storageRepo(), "${strResumePath}/" . FILE_MANIFEST); # The aborted backup is of a different type so is not resumable and is removed. A differential is created. + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = 1; + $strBackup = $oHostBackup->backup( $strType, 'cannot resume - new diff', {oExpectedManifest => \%oManifest, strTest => TEST_BACKUP_NORESUME, strOptionalParam => "$strLogReduced --" . cfgOptionName(CFGOPT_PROCESS_MAX) . '=1' . ($bDeltaBackup ? ' --delta' : '')}); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = $bS3 ? 2 : 1; + # Resume Diff Backup #--------------------------------------------------------------------------------------------------------------------------- $strType = CFGOPTVAL_BACKUP_TYPE_DIFF; @@ -1043,12 +1060,16 @@ sub run # The aborted backup is of the same type so it is resumable but passing --no-resume. Pass --delta same as before to avoid # expect log churn and to test restore with a --delta manifest. + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = 1; + $strBackup = $oHostBackup->backup( $strType, 'cannot resume - disabled / no repo link', {oExpectedManifest => \%oManifest, strTest => TEST_BACKUP_NORESUME, strOptionalParam => "--no-resume ${strLogReduced} --" . cfgOptionName(CFGOPT_PROCESS_MAX) . '=1' . ($bDeltaBackup ? ' --delta' : '')}); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = $bS3 ? 2 : 1; + # Restore #--------------------------------------------------------------------------------------------------------------------------- # Fail on used path @@ -1104,10 +1125,14 @@ sub run # Munge the version to make sure it gets corrected on the next run $oHostBackup->manifestMunge($strBackup, {&INI_SECTION_BACKREST => {&INI_KEY_VERSION => '0.00'}}, false); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = 1; + $strBackup = $oHostBackup->backup( $strType, 'add files and remove tablespace 2', {oExpectedManifest => \%oManifest, strOptionalParam => "$strLogReduced --" . cfgOptionName(CFGOPT_PROCESS_MAX) . '=1'}); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = $bS3 ? 2 : 1; + # Incr Backup #--------------------------------------------------------------------------------------------------------------------------- $strType = CFGOPTVAL_BACKUP_TYPE_INCR; @@ -1168,11 +1193,15 @@ sub run $strType = CFGOPTVAL_BACKUP_TYPE_DIFF; $oHostDbMaster->manifestReference(\%oManifest, $strFullBackup, true); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = 1; + $strBackup = $oHostBackup->backup( $strType, 'updates since last full', {oExpectedManifest => \%oManifest, strOptionalParam => "$strLogReduced --" . cfgOptionName(CFGOPT_PROCESS_MAX) . '=1' . ($bDeltaBackup ? ' --delta' : '')}); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = $bS3 ? 2 : 1; + # Incr Backup # # Remove a file from the db after the manifest has been built but before files are copied. The file will not be shown @@ -1216,6 +1245,8 @@ sub run $oHostBackup->configUpdate({&CFGDEF_SECTION_GLOBAL => {cfgOptionName(CFGOPT_REPO_HARDLINK) => 'y'}}); } + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = 1; + $oBackupExecute = $oHostBackup->backupBegin( $strType, 'remove files during backup', {oExpectedManifest => \%oManifest, strTest => TEST_MANIFEST_BUILD, fTestDelay => 1, @@ -1230,6 +1261,8 @@ sub run $strBackup = $oHostBackup->backupEnd($strType, $oBackupExecute, {oExpectedManifest => \%oManifest}); + $oManifest{&MANIFEST_SECTION_BACKUP_OPTION}{&MANIFEST_KEY_PROCESS_MAX} = $bS3 ? 2 : 1; + # Full Backup #--------------------------------------------------------------------------------------------------------------------------- $strType = CFGOPTVAL_BACKUP_TYPE_FULL;