mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2024-12-14 10:13:05 +02:00
4d84820021
Info files required three copies in memory to be loaded (the original string, an ini representation, and the final info object). Not only was this memory inefficient but the Ini object does sequential scans when searching for keys making large files very slow to load. This has not been an issue since archive.info and backup.info are very small, but it becomes a big deal when loading manifests with hundreds of thousands of files. Instead of holding copies of the data in memory, use a callback to deliver the ini data directly to the object when loading. Use a similar method for save to avoid having an intermediate copy. Save is a bit complex because sections/keys must be written in alpha order or older versions of pgBackRest will not calculate the correct checksum. Also move the load retry logic to helper functions rather than embedding it in the Info object. This allows for more flexibility in loading and ensures that stack traces will be available when developing unit tests. Reviewed by Cynthia Shang.
65 lines
4.3 KiB
Plaintext
65 lines
4.3 KiB
Plaintext
run 002 - rmt 1, cmp 1, error connect, s3 1, enc 0
|
|
==================================================
|
|
|
|
stanza-create db - create required data for stanza (backup host)
|
|
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --no-online stanza-create
|
|
------------------------------------------------------------------------------------------------------------------------------------
|
|
P00 INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --log-subprocess --no-log-timestamp --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-tls --repo1-type=s3 --stanza=db
|
|
P00 DETAIL: tls statistics:[TLS-STATISTICS]
|
|
P00 INFO: http statistics:[HTTP-STATISTICS]
|
|
P00 INFO: stanza-create command end: completed successfully
|
|
|
|
+ supplemental file: /backup/db/backup.info
|
|
-------------------------------------------
|
|
[backrest]
|
|
backrest-format=5
|
|
backrest-version="[VERSION-1]"
|
|
|
|
[db]
|
|
db-catalog-version=201409291
|
|
db-control-version=942
|
|
db-id=1
|
|
db-system-id=1000000000000000094
|
|
db-version="9.4"
|
|
|
|
[db:history]
|
|
1={"db-catalog-version":201409291,"db-control-version":942,"db-system-id":1000000000000000094,"db-version":"9.4"}
|
|
|
|
[backrest]
|
|
backrest-checksum="[CHECKSUM]"
|
|
|
|
+ supplemental file: /archive/db/archive.info
|
|
---------------------------------------------
|
|
[backrest]
|
|
backrest-format=5
|
|
backrest-version="[VERSION-1]"
|
|
|
|
[db]
|
|
db-id=1
|
|
db-system-id=1000000000000000094
|
|
db-version="9.4"
|
|
|
|
[db:history]
|
|
1={"db-id":1000000000000000094,"db-version":"9.4"}
|
|
|
|
[backrest]
|
|
backrest-checksum="[CHECKSUM]"
|
|
|
|
> [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-push-queue-max=33554432 --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001
|
|
------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
> [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-push-queue-max=33554432 --stanza=db --repo1-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002
|
|
------------------------------------------------------------------------------------------------------------------------------------
|
|
P00 ERROR: [125]: remote-0 process on 'bogus' terminated unexpectedly [255]: ssh: Could not resolve hostname bogus: Name or service not known
|
|
|
|
> [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-push-queue-max=33554432 --stanza=db --repo1-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000003
|
|
------------------------------------------------------------------------------------------------------------------------------------
|
|
P00 ERROR: [125]: remote-0 process on 'bogus' terminated unexpectedly [255]: ssh: Could not resolve hostname bogus: Name or service not known
|
|
|
|
> [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-push-queue-max=33554432 --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000004 --repo1-host=bogus
|
|
------------------------------------------------------------------------------------------------------------------------------------
|
|
P00 WARN: dropped WAL file '000000010000000100000004' because archive queue exceeded 32MB
|
|
|
|
> [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-push-queue-max=33554432 --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000005
|
|
------------------------------------------------------------------------------------------------------------------------------------
|