pgBackRest 1.5 commit log

v1.04: Various Bug Fixes

commit   : 277934447b0f4602260978ecb12d2e3d580632df    
  
author   : David Steele <[email protected]>    
date     : Sat, 30 Jul 2016 09:42:35 -0400    
  
committer: David Steele <[email protected]>    
date     : Sat, 30 Jul 2016 09:42:35 -0400    

Click here for diff

Bug Fixes:  
  
* Fixed an issue an where an extraneous remote was created causing threaded backup/restore to possibly timeout and/or throw a lock conflict. (Reported by Michael Vitale.)  
* Fixed an issue where db-path was not required for the check command so an assert was raised when it was missing rather than a polite error message. (Reported by Michael Vitale.)  
* Fixed check command to throw an error when database version/id does not match that of the archive. (Fixed by Cynthia Shang.)  
* Fixed an issue where a remote could try to start its own remote when the backup-host option was not present in pgbackrest.conf on the database server. (Reported by Lardière Sébastien.)  
* Fixed an issue where the contents of pg_xlog were being backed up if the directory was symlinked. This didn't cause any issues during restore but was a waste of space.  
* Fixed an invalid log() call in lock routines.  
  
Features:  
  
* Experimental support for non-exclusive backups in PostgreSQL 9.6 beta3. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace.  
  
Refactoring:  
  
* Enhancements to the protocol layer for improved reliability and error handling.  
* All remote types now take locks. The exceptions date to when the test harness and pgBackRest were running in the same VM and no longer apply.  
* Exceptions are now passed back from threads as messages when possible rather than raised directly.  
* Temp files created during backup are now placed in the same directory as the target file.  
* Output lock file name when a lock cannot be acquired to aid in debugging.  
* Reduce calls to protocolGet() in backup/restore.  
* Suppress banners on SSH protocol connections.  
* Improved remote error messages to identify the host where the error was raised.  

M README.md
M doc/release.pl
M doc/resource/exe.cache
M doc/xml/release.xml
M lib/pgBackRest/Version.pm

Fixed an issue where a remote could try to start its own remote.

commit   : f2b3dda647c9abc487a099876fa0b03f7cd4fa53    
  
author   : David Steele <[email protected]>    
date     : Sat, 30 Jul 2016 08:49:26 -0400    
  
committer: David Steele <[email protected]>    
date     : Sat, 30 Jul 2016 08:49:26 -0400    

Click here for diff

This is a better approach than 93320b8 (reverted in this commit) because it ensures that the remote type will be none so any functions that utilize optionRemoteTypeTest will work correctly.  
  
This bug was only an issue when backup-host was not properly configured on the database host.  

M doc/xml/release.xml
M lib/pgBackRest/Config/Config.pm
M test/expect/backup-archive-get-005.log
M test/expect/backup-archive-get-006.log
M test/expect/backup-archive-get-007.log
M test/expect/backup-archive-get-008.log
M test/expect/backup-archive-push-005.log
M test/expect/backup-archive-push-006.log
M test/expect/backup-archive-push-007.log
M test/expect/backup-archive-push-008.log
M test/expect/backup-archive-stop-003.log
M test/expect/backup-archive-stop-004.log
M test/expect/backup-archive-stop-005.log
M test/expect/backup-archive-stop-006.log
M test/expect/backup-synthetic-005.log
M test/expect/backup-synthetic-006.log
M test/expect/backup-synthetic-007.log
M test/expect/backup-synthetic-008.log

Disable control master for older OS versions where it is less stable.

commit   : 94a4cb4123c9a300d66e1f34b666bba84f4d727b    
  
author   : David Steele <[email protected]>    
date     : Sat, 30 Jul 2016 08:43:38 -0400    
  
committer: David Steele <[email protected]>    
date     : Sat, 30 Jul 2016 08:43:38 -0400    

Click here for diff

M doc/xml/release.xml
M test/lib/pgBackRestTest/Common/ContainerTest.pm
M test/lib/pgBackRestTest/Common/VmTest.pm

Reduce the frequency that certain tests are run to save time in regression.

commit   : 1b6b26956ab2d0ee7957d48b148b080376c0a3fe    
  
author   : David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:32:54 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:32:54 -0400    

Click here for diff

M doc/xml/release.xml
M test/lib/pgBackRestTest/Backup/BackupTest.pm

Enhancements to the protocol layer for improved reliability and error handling.

commit   : ac23716d26aaa14470f1ff8307dfe6010e0c3c05    
  
author   : David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:27:35 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:27:35 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/File.pm
M lib/pgBackRest/Protocol/Common.pm
M lib/pgBackRest/Protocol/CommonMaster.pm
M lib/pgBackRest/Protocol/CommonMinion.pm
M lib/pgBackRest/Protocol/IO.pm

Exceptions are now passed back from threads as messages when possible rather than raised directly.

commit   : b44786321889a2f7599c505c9f7b1b3726810dff    
  
author   : David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:21:57 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:21:57 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/Protocol/ThreadGroup.pm

Fixed a issue where a remote could try to start its own remote.

commit   : 93320b865e891701dea7383166f8bca6117d5efc    
  
author   : David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:19:51 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:19:51 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/Config/Config.pm

Fixed an invalid log call in lock routines.

commit   : af5965a6ef9ebe76a1b5ff5c6a82fdaa5f4d3658    
  
author   : David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:17:32 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:17:32 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/Common/Lock.pm

Fixed an issue where the contents of pg_xlog were being copied if the directory was symlinked.

commit   : a3b8808f94cb8ca6931517002cf30c8b3987357b    
  
author   : David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:44:53 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:44:53 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/Manifest.pm
M test/lib/pgBackRestTest/Backup/Common/HostDbCommonTest.pm

Temp files created during backup are now placed in the same directory as the target file.

commit   : ef33febfb73f449085d6f3da9b0bd6157560e52f    
  
author   : David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:43:59 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:43:59 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/File.pm
M test/expect/backup-synthetic-005.log

Fixed an issue where multi-threaded tests were not being run when requested.

commit   : 95bbc8ad544cac4a95a90f94de2ca8856811dc37    
  
author   : David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:02:16 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 18:02:16 -0400    

Click here for diff

M doc/xml/release.xml
M test/lib/pgBackRestTest/Backup/BackupCommonTest.pm
M test/lib/pgBackRestTest/Backup/BackupTest.pm
M test/lib/pgBackRestTest/Backup/Common/HostBackupTest.pm
M test/lib/pgBackRestTest/Config/ConfigTest.pm
M test/lib/pgBackRestTest/File/FileTest.pm
M test/lib/pgBackRestTest/Help/HelpTest.pm
M test/test.pl

Fixed check command to throw an error when database version/id does not match that of the archive.

commit   : 6e9d5f5bd31c835bf6aa7058c3c00a160d56b6c8    
  
author   : Cynthia Shang <[email protected]>    
date     : Fri, 29 Jul 2016 14:02:11 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Jul 2016 14:02:11 -0400    

Click here for diff

Fixed by Cynthia Shang.  

M doc/xml/release.xml
M lib/pgBackRest/Archive.pm
M lib/pgBackRest/ArchiveInfo.pm
M lib/pgBackRest/BackupInfo.pm
M lib/pgBackRest/Common/Ini.pm
M lib/pgBackRest/Config/Config.pm
M lib/pgBackRest/Expire.pm
M lib/pgBackRest/Protocol/RemoteMinion.pm
M test/expect/backup-archive-get-001.log
M test/expect/backup-archive-get-002.log
M test/expect/backup-archive-get-003.log
M test/expect/backup-archive-get-004.log
M test/expect/backup-archive-get-005.log
M test/expect/backup-archive-get-006.log
M test/expect/backup-archive-get-007.log
M test/expect/backup-archive-get-008.log
M test/lib/pgBackRestTest/Backup/BackupTest.pm
M test/lib/pgBackRestTest/Backup/Common/HostBackupTest.pm

Closed #220: Installation documentation misinformation.

commit   : f95d4af64a9e7cee15e190704fa9b4522f08e31e    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 18:50:58 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 18:50:58 -0400    

Click here for diff

Updated information about package availability on supported platforms.  

M doc/xml/release.xml
M doc/xml/user-guide.xml

Added clarification on why the default for the backrest-user option is backrest.

commit   : ee80b7b255edeac3513781a6d77c84d916832baf    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 18:30:25 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 18:30:25 -0400    

Click here for diff

M doc/xml/release.xml
M doc/xml/user-guide.xml

Closed #209: Don't use "localtime" for HTML-docs.

commit   : 18447569906f915c7801e9ac07500e6d72c8482d    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 17:40:42 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 17:40:42 -0400    

Click here for diff

HTML footer dates are statically created in English in order to be reproducible.  

M doc/manifest.xml
M doc/xml/release.xml

Improved remote error messages to identify the host where the error was raised.

commit   : 273d1c08d8cae647afe1b228a865de9a92177cd1    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:57:38 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:57:38 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/Protocol/Common.pm
M lib/pgBackRest/Protocol/CommonMaster.pm
M lib/pgBackRest/Protocol/CommonMinion.pm
M lib/pgBackRest/Protocol/IO.pm
M lib/pgBackRest/Protocol/RemoteMaster.pm
M test/expect/backup-archive-get-005.log
M test/expect/backup-archive-get-006.log
M test/expect/backup-archive-get-007.log
M test/expect/backup-archive-get-008.log
M test/expect/backup-archive-push-005.log
M test/expect/backup-archive-push-006.log
M test/expect/backup-archive-push-007.log
M test/expect/backup-archive-push-008.log
M test/expect/backup-archive-stop-003.log
M test/expect/backup-archive-stop-004.log
M test/expect/backup-archive-stop-005.log
M test/expect/backup-archive-stop-006.log
M test/expect/backup-synthetic-005.log
M test/expect/backup-synthetic-006.log
M test/expect/backup-synthetic-007.log
M test/expect/backup-synthetic-008.log
M test/lib/pgBackRestTest/Common/ExecuteTest.pm
M test/lib/pgBackRestTest/Common/LogTest.pm

Updated control/catalog/WAL versions for 9.6 beta3.

commit   : bc5c04ffe71faed09519e0bfff1f9ef579fc5aae    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:39:01 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:39:01 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/Archive.pm
M lib/pgBackRest/Db.pm

Suppress banners on SSH protocol connections.

commit   : b6ac6b0f1c0d011ada945d9d027c67923a98173b    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:28:43 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:28:43 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/Protocol/RemoteMaster.pm
M test/expect/backup-archive-get-005.log
M test/expect/backup-archive-get-006.log
M test/expect/backup-archive-get-007.log
M test/expect/backup-archive-get-008.log
M test/expect/backup-archive-push-005.log
M test/expect/backup-archive-push-006.log
M test/expect/backup-archive-push-007.log
M test/expect/backup-archive-push-008.log
M test/expect/backup-archive-stop-003.log
M test/expect/backup-archive-stop-004.log
M test/expect/backup-archive-stop-005.log
M test/expect/backup-archive-stop-006.log
M test/expect/backup-synthetic-005.log
M test/expect/backup-synthetic-006.log
M test/expect/backup-synthetic-007.log
M test/expect/backup-synthetic-008.log
M test/lib/pgBackRestTest/Common/ContainerTest.pm

Reduce calls to protocolGet() in backup/restore.

commit   : f31ec20fcb249027a4aa455a9193eee40842497d    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:21:14 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:21:14 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/Backup.pm
M lib/pgBackRest/Restore.pm

Output lock file name when a lock cannot be acquired to aid in debugging.

commit   : 98a67792ecd02c05511de7ec9c1830a200326ea7    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:14:15 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:14:15 -0400    

Click here for diff

M doc/xml/release.xml
M lib/pgBackRest/Common/Lock.pm

All remote types now take locks.

commit   : d96b1a0dbc86fab538bf1be53825675774e9cbc9    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:12:38 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:12:38 -0400    

Click here for diff

The exceptions date to when the test harness and pgBackRest were running in the same VM and no longer apply.  

M bin/pgbackrest
M doc/xml/release.xml

Fixed #219: Unable to acquire restore lock.

commit   : 095351f145003c62b24770e8a5ef96ec6125e624    
  
author   : David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:08:05 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 26 Jul 2016 16:08:05 -0400    

Click here for diff

Fixed an issue an where an extraneous remote was created causing threaded backup/restore to possibly timeout and/or throw a lock conflict.  

M doc/xml/release.xml
M lib/pgBackRest/Protocol/ThreadGroup.pm

Fixed an issue where db-path was not required for the check command so an assert was thrown when it was missing rather than a polite error message.

commit   : 5893c3cd2e7e6dd77283b17d59a5e72c34f6dec7    
  
author   : David Steele <[email protected]>    
date     : Tue, 19 Jul 2016 15:26:41 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 19 Jul 2016 15:26:41 -0400    

Click here for diff

Reported by Michael Vitale.  

M doc/xml/release.xml
M lib/pgBackRest/Config/Config.pm
M lib/pgBackRest/Version.pm

Fixed a version checking issue in test.pl.

commit   : 9ae6c01432ba66f5b2b743394af0ac00908a0ea9    
  
author   : David Steele <[email protected]>    
date     : Tue, 19 Jul 2016 15:22:20 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 19 Jul 2016 15:22:20 -0400    

Click here for diff

M doc/xml/release.xml
M test/test.pl

Added release.pl to make releases reproducible.

commit   : 6e528080650dda98109d2bc31c48197804a29eda    
  
author   : David Steele <[email protected]>    
date     : Sat, 2 Jul 2016 11:08:25 -0400    
  
committer: David Steele <[email protected]>    
date     : Sat, 2 Jul 2016 11:08:25 -0400    

Click here for diff

M doc/doc.pl
M doc/lib/BackRestDoc/Custom/DocCustomRelease.pm
A doc/release.pl
M doc/xml/release.xml