Cynthia Shang
b03c26968a
Repository encryption support.
...
Contributed by Cynthia Shang.
2017-11-06 12:51:12 -05:00
David Steele
8d6a08a32b
Library code for repository encryption support.
2017-11-03 13:57:58 -04:00
David Steele
ac542788da
Convert configuration definitions from auto-generated functions to auto-generated data structures.
2017-11-02 08:14:13 -04:00
David Steele
d989cf8ac2
Replace dynamically built class hierarchies in I/O layer with fixed parent() calls.
2017-10-22 19:07:17 -04:00
David Steele
3553ccae44
Add I/O performance tests.
2017-10-22 13:27:47 -04:00
David Steele
f4524aeaa9
Add base64 encode/decode.
2017-10-18 11:14:26 -04:00
David Steele
583a76f605
Add C memory contexts.
2017-10-16 11:25:49 -04:00
David Steele
6f5186f9e6
Convert config tests into C unit tests.
2017-10-16 11:13:51 -04:00
David Steele
9d78948a14
Improvements to page checksum module and tests:
...
* Page checksum module uses new C error handler.
* Convert page checksum tests into C unit tests.
2017-10-16 11:03:06 -04:00
David Steele
f1e739b4aa
Add C error handler.
...
Basic try ... catch ... finally pattern to simplify error handling in C.
2017-10-16 10:09:56 -04:00
David Steele
10dfbd90b5
Add C unit test infrastructure.
2017-10-12 12:55:48 -04:00
David Steele
eea2ccc3ab
Add HTTP retries to harden against transient S3 network errors.
2017-09-03 16:48:41 -04:00
David Steele
75511d2481
Allow content-length (in addition to chunked encoding) when reading XML data to improve compatibility with third-party S3 gateways.
...
Suggested by Victor Gdalevich.
2017-09-01 15:07:20 -04:00
Cynthia Shang
36e576b483
Up to seven standbys can be configured for backup from standby.`
...
Contributed by Cynthia Shang.
2017-08-31 19:15:44 -04:00
David Steele
81ffd09445
Fixed an issue with keep-alives not being sent to the remote from the local process.
...
Reported by William Cox.
2017-08-30 08:41:46 -04:00
David Steele
038d47bcc0
Retry when S3 returns an internal error (500).
2017-08-08 17:15:01 -04:00
Cynthia Shang
b6da509c9f
Consolidate stanza-create and stanza-upgrade tests into new stanza test.
...
Contributed by Cynthia Shang.
2017-08-04 16:10:51 -04:00
Cynthia Shang
f9bdc092ba
Fixed an issue that could cause the empty archive directory for an old PostgreSQL version to be left behind after a stanza-upgrade.
...
Fixed by Cynthia Shang.
2017-08-04 16:03:55 -04:00
Cynthia Shang
ce2b18c5b8
Added --backup-ssh-port and --db-ssh-port options to support non-default SSH ports.
...
Contributed by Cynthia Shang.
2017-08-01 10:34:53 -04:00
Cynthia Shang
cda3b9821b
Improved WAL data returned by info command.
...
Modified the info command (both text and JSON output) to display the archive ID and minimum/maximum WAL currently present in the archive for the current and prior, if any, database cluster version.
Contributed by Cynthia Shang.
2017-07-21 17:32:41 -04:00
David Steele
9e9286ee20
Add performance module and basic performance test for archive-push.
2017-06-27 18:00:39 -04:00
David Steele
7a9b1f6993
Container build improvements:
...
* More optimized container suite that greatly improves build time.
* Added static Debian packages for Devel::Cover to reduce build time.
* Add deprecated state for containers. Deprecated containers may only be used to build packages.
* Remove Debian 8 from CI because it does not provide additional coverage over Ubuntu 14.04 and Ubuntu 16.04.
2017-06-24 10:59:00 -04:00
David Steele
a10a22127d
Consolidate archive-get test into new archive test.
2017-06-22 18:51:39 -04:00
David Steele
918c1c6f49
Add s3-repo-ca-path and s3-repo-ca-file options.
...
The options accommodate systems where CAs are not automatically found by IO::Socket::SSL, i.e. RHEL7, or to load custom CAs.
Suggested by Scott Frazer.
2017-06-22 18:22:49 -04:00
David Steele
8b9965abcb
Remove process-max option.
...
Parallelism is now tested in a more targeted manner and the high level option is no longer needed.
2017-06-21 19:21:16 -04:00
David Steele
2348693389
Reduce process redundancy in mock tests.
2017-06-21 18:47:25 -04:00
David Steele
64ec7eb490
Eliminate redundancy in real tests.
2017-06-21 16:07:13 -04:00
David Steele
edada21866
Rename archive-push unit test.
...
This is part of the archive consolidation but is committed separately so that git will follow the rename.
2017-06-21 08:45:58 -04:00
David Steele
2337be8636
Consolidate archive-push tests into new archive test.
2017-06-21 08:38:53 -04:00
David Steele
11ee528e0e
Rename Archive modules to remove redundancy.
2017-06-21 08:02:21 -04:00
David Steele
692b1e274a
Split full module into mock and real to allow better test combinations and save time in CI.
2017-06-19 18:55:00 -04:00
David Steele
f6d4457d58
Full/Synthetic test refactor.
...
* Combine hardlink and non/compressed in synthetic tests to reduce test time and improve coverage.
* Change log level of hardlink logging to detail.
* Cast size in S3 manifest to integer.
2017-06-15 15:32:10 -04:00
David Steele
051c961151
S3 repository support.
2017-06-12 10:52:32 -04:00
David Steele
de7fc37f88
Storage and IO layer refactor:
...
Refactor storage layer to allow for new repository filesystems using drivers. (Reviewed by Cynthia Shang.)
Refactor IO layer to allow for new compression formats, checksum types, and other capabilities using filters. (Reviewed by Cynthia Shang.)
2017-06-09 17:51:41 -04:00
Cynthia Shang
7e982f05f5
Fixed config warnings raised from a remote process causing errors in the master process.
...
Fixed by Cynthia Shang.
2017-05-16 11:28:51 -04:00
David Steele
5296747271
Move backup modules into Backup directory.
2017-05-15 16:01:00 -04:00
David Steele
c31da3f961
Moved test and env modules to new directories to avoid namespace conflicts with common tests.
2017-05-12 16:43:04 -04:00
David Steele
979610a07d
Fixed an undefined variable when a module had no uncoverable code exceptions.
2017-04-13 20:10:28 -04:00
David Steele
3d84f2ce5e
Improvements to Ini.pm.
...
* Refactor Ini.pm to facilitate testing.
* Complete statement/branch coverage for Ini.pm.
* Improved functions used to test/munge manifest and info files.
2017-04-10 13:24:45 -04:00
David Steele
367e06f4be
Coverage testing always enabled on Debian-based containers.
...
* Full coverage is verified when specified.
* Modules marked with partial coverage will error if they are actually fully covered.
* Simplified test representation is DefineTest.
* Added new representation for queries in DefineTest and added API functions.
* Update modules using DefineTest to use new API.
2017-04-10 12:31:30 -04:00
Cynthia Shang
b620e6b282
Improvements and additional tests for stanza-upgrade.
...
Contributed by Cynthia Shang.
2017-04-06 19:36:37 -04:00
David Steele
c7b61a2002
Refactor backupLabel() and add unit tests.
2017-04-05 10:16:16 -04:00
Cynthia Shang
beead043ac
Added stanza-upgrade command.
...
The stanza-upgrade command provides a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL.
Contributed by Cynthia Shang.
2017-04-03 10:42:55 -04:00
Cynthia Shang
af7e4f4b4b
Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section.
...
Contributed by Cynthia Shang.
2017-03-22 19:03:28 -04:00
David Steele
14ca4dac6f
Improved the code and tests for fileManifest().
...
Done to prevent a possible race condition when files are removed by the database while the manifest is being built.
2017-02-21 11:56:55 -05:00
David Steele
e2ac7e1ea6
Fixed a regression introduced in v1.13 that could cause backups to fail.
...
This happened if files were removed (e.g. tables dropped) while the manifest was being built.
Reported by Navid Golpayegani.
2017-02-13 19:59:14 -05:00
David Steele
8b5f37c2a8
Added archive and backup WAL ranges to the info command.
2017-02-05 10:31:29 -05:00
David Steele
43ada9fb33
Improved, multi-process implementation of asynchronous archiving.
2017-01-27 11:02:27 -05:00
David Steele
0e4f51c271
Added integration for testing coverage with Devel::Cover.
2017-01-09 20:49:04 -05:00
David Steele
39744a4f1d
Fixed an issue where a missing user/group on restore could cause an "uninitialized value" error in File->owner().
...
Reported by Leonardo Avellar.
2017-01-05 15:19:56 -05:00