1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2024-12-12 10:04:14 +02:00

Rename bundle-* options to repo-bundle-*.

It seems best for these to be repo options so they can be configured per repo, rather than globally.

All clarify usage for repo-bundle-size and repo-bundle-limit.
This commit is contained in:
David Steele 2022-03-14 17:49:52 -06:00 committed by GitHub
parent 7c9208ba85
commit 3f66f42ef9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 256 additions and 225 deletions

View File

@ -64,11 +64,15 @@
<github-pull-request id="1683"/>
</commit>
<commit subject="Add bundle logging to backup command."/>
<commit subject="Rename bundle-* options to repo-bundle-*.">
<github-pull-request id="1694"/>
</commit>
<release-item-contributor-list>
<release-item-contributor id="david.steele"/>
<release-item-reviewer id="reid.thompson"/>
<release-item-reviewer id="stefan.fercot"/>
<release-item-reviewer id="chris.bandy"/>
</release-item-contributor-list>
<p>Improve small file support.</p>

View File

@ -1115,36 +1115,6 @@ option:
command-role:
main: {}
bundle:
internal: true
section: global
type: boolean
default: false
command:
backup: {}
command-role:
main: {}
bundle-size:
internal: true
section: global
type: size
default: 20MiB
allow-range: [1MiB, 1PiB]
command:
backup: {}
command-role:
main: {}
depend:
option: bundle
list:
- true
bundle-limit:
inherit: bundle-size
default: 2MiB
allow-range: [8KiB, 1PiB]
checksum-page:
section: global
type: boolean
@ -1761,6 +1731,38 @@ option:
command: repo-type
depend: repo-azure-account
repo-bundle:
internal: true
section: global
group: repo
type: boolean
default: false
command:
backup: {}
command-role:
main: {}
repo-bundle-size:
internal: true
section: global
group: repo
type: size
default: 20MiB
allow-range: [1MiB, 1PiB]
command:
backup: {}
command-role:
main: {}
depend:
option: repo-bundle
list:
- true
repo-bundle-limit:
inherit: repo-bundle-size
default: 2MiB
allow-range: [8KiB, 1PiB]
repo-cipher-pass:
section: global
type: string

View File

@ -512,6 +512,44 @@
<example>path</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-bundle" name="Repository Bundles">
<summary>Bundle files in repository.</summary>
<text>
<p>Bundle (combine) smaller files to reduce the total number of files written to the repository. Writing fewer files is generally more efficient, especially on object stores such as <proper>S3</proper>. In addition, zero-length files are not stored (except in the manifest), which saves time and space.</p>
</text>
<example>y</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-bundle-size" name="Repository Bundle Size">
<summary>Target size for file bundles.</summary>
<text>
<p>Defines the total size of files that will be added to a single bundle. Most bundles will be smaller than this size but it is possible that some will be slightly larger, so do not set this option to the maximum size that your file system allows.</p>
<p>In general, it is not a good idea to set this option too high because retries will need to redo the entire bundle.</p>
</text>
<example>10MiB</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-bundle-limit" name="Repository Bundle Limit">
<summary>Limit for file bundles.</summary>
<text>
<p>Size limit for files that will be included in bundles. Files larger than this size will be stored separately.</p>
<p>Bundled files cannot be reused when a backup is resumed, so this option controls the files that can be resumed, i.e. higher values result in fewer resumable files.</p>
</text>
<example>10MiB</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="repo-gcs-bucket" name="GCS Repository Bucket">
<summary>GCS repository bucket.</summary>
@ -1109,41 +1147,6 @@
<example>y</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="bundle" name="Repository Bundles">
<summary>Bundle files in repository.</summary>
<text>
<p>Bundle (combine) smaller files to reduce the total number of files written to the repository. Writing fewer files is generally more efficient, especially on object stores such as <proper>S3</proper>. In addition, zero-length files are not stored (except in the manifest), which saves time and space.</p>
</text>
<example>y</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="bundle-size" name="Repository Bundle Size">
<summary>Target size for file bundles.</summary>
<text>
<p>Defines the target size of bundled files. Most bundles will be smaller than this target but it is possible that some will be slightly larger, so do not set this option to the maximum size that your file system allows.</p>
<p>In general, it is not a good idea to set this option too high because retries will need to redo the entire bundle.</p>
</text>
<example>10MiB</example>
</config-key>
<!-- ======================================================================================================= -->
<config-key id="bundle-limit" name="Repository Bundle Limit">
<summary>Limit for file bundles.</summary>
<text>
<p>Size limit for files that will be included in bundles. Files larger than this size will be stored separately.</p>
</text>
<example>10MiB</example>
</config-key>
<!-- CONFIG - BACKUP SECTION - CHECKSUM-PAGE KEY -->
<config-key id="checksum-page" name="Page Checksums">
<summary>Validate data page checksums.</summary>

View File

@ -1787,7 +1787,7 @@ backupProcess(BackupData *backupData, Manifest *manifest, const String *lsnStart
.cipherType = cfgOptionStrId(cfgOptRepoCipherType),
.cipherSubPass = manifestCipherSubPass(manifest),
.delta = cfgOptionBool(cfgOptDelta),
.bundle = cfgOptionBool(cfgOptBundle),
.bundle = cfgOptionBool(cfgOptRepoBundle),
.bundleId = 1,
// Build expression to identify files that can be copied from the standby when standby backup is supported
@ -1800,8 +1800,8 @@ backupProcess(BackupData *backupData, Manifest *manifest, const String *lsnStart
if (jobData.bundle)
{
jobData.bundleSize = cfgOptionUInt64(cfgOptBundleSize);
jobData.bundleLimit = cfgOptionUInt64(cfgOptBundleLimit);
jobData.bundleSize = cfgOptionUInt64(cfgOptRepoBundleSize);
jobData.bundleLimit = cfgOptionUInt64(cfgOptRepoBundleLimit);
}
// If this is a full backup or hard-linked and paths are supported then create all paths explicitly so that empty paths will
@ -2223,7 +2223,7 @@ cmdBackup(void)
// Build the manifest
Manifest *manifest = manifestNewBuild(
backupData->storagePrimary, infoPg.version, infoPg.catalogVersion, cfgOptionBool(cfgOptOnline),
cfgOptionBool(cfgOptChecksumPage), cfgOptionBool(cfgOptBundle), strLstNewVarLst(cfgOptionLst(cfgOptExclude)),
cfgOptionBool(cfgOptChecksumPage), cfgOptionBool(cfgOptRepoBundle), strLstNewVarLst(cfgOptionLst(cfgOptExclude)),
backupStartResult.tablespaceList);
// Validate the manifest using the copy start time

View File

@ -54,9 +54,6 @@ Option constants
#define CFGOPT_ARCHIVE_TIMEOUT "archive-timeout"
#define CFGOPT_BACKUP_STANDBY "backup-standby"
#define CFGOPT_BUFFER_SIZE "buffer-size"
#define CFGOPT_BUNDLE "bundle"
#define CFGOPT_BUNDLE_LIMIT "bundle-limit"
#define CFGOPT_BUNDLE_SIZE "bundle-size"
#define CFGOPT_CHECKSUM_PAGE "checksum-page"
#define CFGOPT_CIPHER_PASS "cipher-pass"
#define CFGOPT_CMD "cmd"
@ -368,9 +365,6 @@ typedef enum
cfgOptArchiveTimeout,
cfgOptBackupStandby,
cfgOptBufferSize,
cfgOptBundle,
cfgOptBundleLimit,
cfgOptBundleSize,
cfgOptChecksumPage,
cfgOptCipherPass,
cfgOptCmd,
@ -442,6 +436,9 @@ typedef enum
cfgOptRepoAzureKey,
cfgOptRepoAzureKeyType,
cfgOptRepoAzureUriStyle,
cfgOptRepoBundle,
cfgOptRepoBundleLimit,
cfgOptRepoBundleSize,
cfgOptRepoCipherPass,
cfgOptRepoCipherType,
cfgOptRepoGcsBucket,

View File

@ -1179,111 +1179,6 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] =
),
),
// -----------------------------------------------------------------------------------------------------------------------------
PARSE_RULE_OPTION
(
PARSE_RULE_OPTION_NAME("bundle"),
PARSE_RULE_OPTION_TYPE(cfgOptTypeBoolean),
PARSE_RULE_OPTION_NEGATE(true),
PARSE_RULE_OPTION_RESET(true),
PARSE_RULE_OPTION_REQUIRED(true),
PARSE_RULE_OPTION_SECTION(cfgSectionGlobal),
PARSE_RULE_OPTION_COMMAND_ROLE_MAIN_VALID_LIST
(
PARSE_RULE_OPTION_COMMAND(cfgCmdBackup)
),
PARSE_RULE_OPTIONAL
(
PARSE_RULE_OPTIONAL_GROUP
(
PARSE_RULE_OPTIONAL_DEFAULT
(
PARSE_RULE_VAL_BOOL_FALSE,
),
),
),
),
// -----------------------------------------------------------------------------------------------------------------------------
PARSE_RULE_OPTION
(
PARSE_RULE_OPTION_NAME("bundle-limit"),
PARSE_RULE_OPTION_TYPE(cfgOptTypeSize),
PARSE_RULE_OPTION_RESET(true),
PARSE_RULE_OPTION_REQUIRED(true),
PARSE_RULE_OPTION_SECTION(cfgSectionGlobal),
PARSE_RULE_OPTION_COMMAND_ROLE_MAIN_VALID_LIST
(
PARSE_RULE_OPTION_COMMAND(cfgCmdBackup)
),
PARSE_RULE_OPTIONAL
(
PARSE_RULE_OPTIONAL_GROUP
(
PARSE_RULE_OPTIONAL_DEPEND
(
PARSE_RULE_VAL_OPT(cfgOptBundle),
PARSE_RULE_VAL_BOOL_TRUE,
),
PARSE_RULE_OPTIONAL_ALLOW_RANGE
(
PARSE_RULE_VAL_INT(parseRuleValInt8192),
PARSE_RULE_VAL_INT(parseRuleValInt1125899906842624),
),
PARSE_RULE_OPTIONAL_DEFAULT
(
PARSE_RULE_VAL_INT(parseRuleValInt2097152),
PARSE_RULE_VAL_STR(parseRuleValStrQT_2MiB_QT),
),
),
),
),
// -----------------------------------------------------------------------------------------------------------------------------
PARSE_RULE_OPTION
(
PARSE_RULE_OPTION_NAME("bundle-size"),
PARSE_RULE_OPTION_TYPE(cfgOptTypeSize),
PARSE_RULE_OPTION_RESET(true),
PARSE_RULE_OPTION_REQUIRED(true),
PARSE_RULE_OPTION_SECTION(cfgSectionGlobal),
PARSE_RULE_OPTION_COMMAND_ROLE_MAIN_VALID_LIST
(
PARSE_RULE_OPTION_COMMAND(cfgCmdBackup)
),
PARSE_RULE_OPTIONAL
(
PARSE_RULE_OPTIONAL_GROUP
(
PARSE_RULE_OPTIONAL_DEPEND
(
PARSE_RULE_VAL_OPT(cfgOptBundle),
PARSE_RULE_VAL_BOOL_TRUE,
),
PARSE_RULE_OPTIONAL_ALLOW_RANGE
(
PARSE_RULE_VAL_INT(parseRuleValInt1048576),
PARSE_RULE_VAL_INT(parseRuleValInt1125899906842624),
),
PARSE_RULE_OPTIONAL_DEFAULT
(
PARSE_RULE_VAL_INT(parseRuleValInt20971520),
PARSE_RULE_VAL_STR(parseRuleValStrQT_20MiB_QT),
),
),
),
),
// -----------------------------------------------------------------------------------------------------------------------------
PARSE_RULE_OPTION
(
@ -4950,6 +4845,117 @@ static const ParseRuleOption parseRuleOption[CFG_OPTION_TOTAL] =
),
),
// -----------------------------------------------------------------------------------------------------------------------------
PARSE_RULE_OPTION
(
PARSE_RULE_OPTION_NAME("repo-bundle"),
PARSE_RULE_OPTION_TYPE(cfgOptTypeBoolean),
PARSE_RULE_OPTION_NEGATE(true),
PARSE_RULE_OPTION_RESET(true),
PARSE_RULE_OPTION_REQUIRED(true),
PARSE_RULE_OPTION_SECTION(cfgSectionGlobal),
PARSE_RULE_OPTION_GROUP_MEMBER(true),
PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo),
PARSE_RULE_OPTION_COMMAND_ROLE_MAIN_VALID_LIST
(
PARSE_RULE_OPTION_COMMAND(cfgCmdBackup)
),
PARSE_RULE_OPTIONAL
(
PARSE_RULE_OPTIONAL_GROUP
(
PARSE_RULE_OPTIONAL_DEFAULT
(
PARSE_RULE_VAL_BOOL_FALSE,
),
),
),
),
// -----------------------------------------------------------------------------------------------------------------------------
PARSE_RULE_OPTION
(
PARSE_RULE_OPTION_NAME("repo-bundle-limit"),
PARSE_RULE_OPTION_TYPE(cfgOptTypeSize),
PARSE_RULE_OPTION_RESET(true),
PARSE_RULE_OPTION_REQUIRED(true),
PARSE_RULE_OPTION_SECTION(cfgSectionGlobal),
PARSE_RULE_OPTION_GROUP_MEMBER(true),
PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo),
PARSE_RULE_OPTION_COMMAND_ROLE_MAIN_VALID_LIST
(
PARSE_RULE_OPTION_COMMAND(cfgCmdBackup)
),
PARSE_RULE_OPTIONAL
(
PARSE_RULE_OPTIONAL_GROUP
(
PARSE_RULE_OPTIONAL_DEPEND
(
PARSE_RULE_VAL_OPT(cfgOptRepoBundle),
PARSE_RULE_VAL_BOOL_TRUE,
),
PARSE_RULE_OPTIONAL_ALLOW_RANGE
(
PARSE_RULE_VAL_INT(parseRuleValInt8192),
PARSE_RULE_VAL_INT(parseRuleValInt1125899906842624),
),
PARSE_RULE_OPTIONAL_DEFAULT
(
PARSE_RULE_VAL_INT(parseRuleValInt2097152),
PARSE_RULE_VAL_STR(parseRuleValStrQT_2MiB_QT),
),
),
),
),
// -----------------------------------------------------------------------------------------------------------------------------
PARSE_RULE_OPTION
(
PARSE_RULE_OPTION_NAME("repo-bundle-size"),
PARSE_RULE_OPTION_TYPE(cfgOptTypeSize),
PARSE_RULE_OPTION_RESET(true),
PARSE_RULE_OPTION_REQUIRED(true),
PARSE_RULE_OPTION_SECTION(cfgSectionGlobal),
PARSE_RULE_OPTION_GROUP_MEMBER(true),
PARSE_RULE_OPTION_GROUP_ID(cfgOptGrpRepo),
PARSE_RULE_OPTION_COMMAND_ROLE_MAIN_VALID_LIST
(
PARSE_RULE_OPTION_COMMAND(cfgCmdBackup)
),
PARSE_RULE_OPTIONAL
(
PARSE_RULE_OPTIONAL_GROUP
(
PARSE_RULE_OPTIONAL_DEPEND
(
PARSE_RULE_VAL_OPT(cfgOptRepoBundle),
PARSE_RULE_VAL_BOOL_TRUE,
),
PARSE_RULE_OPTIONAL_ALLOW_RANGE
(
PARSE_RULE_VAL_INT(parseRuleValInt1048576),
PARSE_RULE_VAL_INT(parseRuleValInt1125899906842624),
),
PARSE_RULE_OPTIONAL_DEFAULT
(
PARSE_RULE_VAL_INT(parseRuleValInt20971520),
PARSE_RULE_VAL_STR(parseRuleValStrQT_20MiB_QT),
),
),
),
),
// -----------------------------------------------------------------------------------------------------------------------------
PARSE_RULE_OPTION
(
@ -9230,9 +9236,6 @@ static const ConfigOption optionResolveOrder[] =
cfgOptArchiveTimeout,
cfgOptBackupStandby,
cfgOptBufferSize,
cfgOptBundle,
cfgOptBundleLimit,
cfgOptBundleSize,
cfgOptChecksumPage,
cfgOptCipherPass,
cfgOptCmd,
@ -9283,6 +9286,9 @@ static const ConfigOption optionResolveOrder[] =
cfgOptRecurse,
cfgOptRemoteType,
cfgOptRepo,
cfgOptRepoBundle,
cfgOptRepoBundleLimit,
cfgOptRepoBundleSize,
cfgOptRepoCipherType,
cfgOptRepoHardlink,
cfgOptRepoLocal,

View File

@ -30,8 +30,6 @@ pg1-socket-path=[TEST_PATH]/db-primary/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -45,6 +43,9 @@ log-path=[TEST_PATH]/db-primary/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -64,8 +65,6 @@ pg1-socket-path=[TEST_PATH]/db-standby/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -79,6 +78,9 @@ log-path=[TEST_PATH]/db-standby/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -112,8 +114,6 @@ pg256-port=6544
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -127,6 +127,9 @@ log-path=[TEST_PATH]/backup/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-path=[TEST_PATH]/backup/repo
repo2-path=[TEST_PATH]/backup/repo2
@ -147,8 +150,6 @@ pg1-socket-path=[TEST_PATH]/db-primary/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -162,6 +163,9 @@ log-path=[TEST_PATH]/db-primary/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -181,8 +185,6 @@ pg1-socket-path=[TEST_PATH]/db-standby/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -196,6 +198,9 @@ log-path=[TEST_PATH]/db-standby/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -229,8 +234,6 @@ pg256-port=6544
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -244,6 +247,9 @@ log-path=[TEST_PATH]/backup/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-path=[TEST_PATH]/backup/repo
repo2-path=[TEST_PATH]/backup/repo2
@ -264,8 +270,6 @@ pg1-socket-path=[TEST_PATH]/db-primary/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -279,6 +283,9 @@ log-path=[TEST_PATH]/db-primary/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -298,8 +305,6 @@ pg1-socket-path=[TEST_PATH]/db-standby/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -313,6 +318,9 @@ log-path=[TEST_PATH]/db-standby/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -346,8 +354,6 @@ pg256-port=6544
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -361,6 +367,9 @@ log-path=[TEST_PATH]/backup/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-path=[TEST_PATH]/backup/repo
repo2-path=[TEST_PATH]/backup/repo2
@ -400,8 +409,6 @@ pg1-socket-path=[TEST_PATH]/db-primary/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -415,6 +422,9 @@ log-path=[TEST_PATH]/db-primary/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -436,8 +446,6 @@ pg1-socket-path=[TEST_PATH]/db-standby/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -451,6 +459,9 @@ log-path=[TEST_PATH]/db-standby/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -485,8 +496,6 @@ pg256-port=6544
[global]
archive-async=y
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -500,6 +509,9 @@ log-path=[TEST_PATH]/backup/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-path=[TEST_PATH]/backup/repo
repo2-path=[TEST_PATH]/backup/repo2
@ -524,8 +536,6 @@ pg1-socket-path=[TEST_PATH]/db-primary/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -539,6 +549,9 @@ log-path=[TEST_PATH]/db-primary/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -560,8 +573,6 @@ pg1-socket-path=[TEST_PATH]/db-standby/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -575,6 +586,9 @@ log-path=[TEST_PATH]/db-standby/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -609,8 +623,6 @@ pg256-port=6544
[global]
archive-async=y
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -624,6 +636,9 @@ log-path=[TEST_PATH]/backup/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-path=[TEST_PATH]/backup/repo
repo2-path=[TEST_PATH]/backup/repo2
@ -664,8 +679,6 @@ pg1-socket-path=[TEST_PATH]/db-primary/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -679,6 +692,9 @@ log-path=[TEST_PATH]/db-primary/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -700,8 +716,6 @@ pg1-socket-path=[TEST_PATH]/db-standby/db
[global]
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -715,6 +729,9 @@ log-path=[TEST_PATH]/db-standby/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-host=backup
repo1-host-cmd=[BACKREST-BIN]
repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf
@ -749,8 +766,6 @@ pg256-port=6544
[global]
archive-async=y
buffer-size=[BUFFER-SIZE]
bundle=y
bundle-size=1MiB
compress-level=3
compress-level-network=1
compress-type=none
@ -764,6 +779,9 @@ log-path=[TEST_PATH]/backup/log
log-subprocess=[LOG-SUBPROCESS]
log-timestamp=n
protocol-timeout=60
repo1-bundle=y
repo1-bundle-limit=64KiB
repo1-bundle-size=1MiB
repo1-path=[TEST_PATH]/backup/repo
repo2-path=[TEST_PATH]/backup/repo2

View File

@ -1177,9 +1177,10 @@ sub configCreate
if ($oParam->{bBundle})
{
$oParamHash{&CFGDEF_SECTION_GLOBAL}{'bundle'} = 'y';
# Set bundle size smaller for testing and because FakeGCS does not do multi-part upload
$oParamHash{&CFGDEF_SECTION_GLOBAL}{'bundle-size'} = '1MiB';
$oParamHash{&CFGDEF_SECTION_GLOBAL}{'repo1-bundle'} = 'y';
# Set bundle size/limit smaller for testing and because FakeGCS does not do multi-part upload
$oParamHash{&CFGDEF_SECTION_GLOBAL}{'repo1-bundle-size'} = '1MiB';
$oParamHash{&CFGDEF_SECTION_GLOBAL}{'repo1-bundle-limit'} = '64KiB';
}
$oParamHash{&CFGDEF_SECTION_GLOBAL}{'log-path'} = $self->logPath();

View File

@ -3111,12 +3111,12 @@ testRun(void)
hrnCfgArgRawZ(argList, cfgOptManifestSaveThreshold, "1");
hrnCfgArgRawBool(argList, cfgOptArchiveCopy, true);
hrnCfgArgRawZ(argList, cfgOptBufferSize, "16K");
hrnCfgArgRawBool(argList, cfgOptBundle, true);
hrnCfgArgRawBool(argList, cfgOptRepoBundle, true);
HRN_CFG_LOAD(cfgCmdBackup, argList);
// Set to a smaller values than the defaults allow
cfgOptionSet(cfgOptBundleSize, cfgSourceParam, VARINT64(PG_PAGE_SIZE_DEFAULT));
cfgOptionSet(cfgOptBundleLimit, cfgSourceParam, VARINT64(PG_PAGE_SIZE_DEFAULT));
cfgOptionSet(cfgOptRepoBundleSize, cfgSourceParam, VARINT64(PG_PAGE_SIZE_DEFAULT));
cfgOptionSet(cfgOptRepoBundleLimit, cfgSourceParam, VARINT64(PG_PAGE_SIZE_DEFAULT));
// Zeroed file which passes page checksums
Buffer *relation = bufNew(PG_PAGE_SIZE_DEFAULT * 3);