1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2024-12-14 10:13:05 +02:00
pgbackrest/lib/pgBackRest
David Steele 8f6d324b2c Fix issue with multiple async status files causing a hard error.
Multiple status files were being created by asynchronous archiving if a high-level error occurred after one or more WAL segments had already been transferred successfully.  Error files were being written for every file in the queue regardless of whether it had already succeeded.  To fix this, add an option to skip writing error files when an ok file already exists.

There are other situations where both files might exist (various fsync and filesystem error scenarios) so it seems best to retry in the case that multiple status files are found rather than throwing a hard error (which then means that archiving is completely stuck).  In the case of multiple status files, a warning will be logged to alert the user that something unusual is happening and the command will be retried.

Reported by fpa-postgres, Joe Ayers, Douglas J Hunley.
2019-01-26 16:59:54 +02:00
..
Archive Fix issue with multiple async status files causing a hard error. 2019-01-26 16:59:54 +02:00
Backup Remove request for S3 object info directly after putting it. 2018-11-30 10:38:02 -05:00
Check Add checksum delta for incremental backups. 2018-09-19 11:12:45 -04:00
Common Add Exec object. 2019-01-18 11:45:40 +02:00
Config Rename PGBACKREST/BACKREST constants to PROJECT. 2018-11-24 19:05:03 -05:00
Protocol The info command is implemented entirely in C. 2019-01-21 13:51:45 +02:00
Storage Update Storage::Local->list() to accept an undefined path. 2019-01-16 18:49:12 +02:00
Db.pm Rename PGBACKREST/BACKREST constants to PROJECT. 2018-11-24 19:05:03 -05:00
DbVersion.pm Fix static WAL segment size used to determine if archive-push-queue-max has been exceeded. 2018-10-27 20:00:00 +01:00
Expire.pm Rename retention-* options to repo-retention-*. 2018-02-19 15:07:24 -05:00
InfoCommon.pm Added stanza-upgrade command. 2017-04-03 10:42:55 -04:00
LibC.pm Allow command/option constants to autonumber in both C and Perl to reduce churn when a new command/option is added. 2018-08-24 19:31:45 -04:00
LibCAuto.pm Merge crypto/random module into crypto/crypto. 2018-11-06 20:04:16 -05:00
Main.pm Improve log file names for remote processes started by locals. 2018-08-31 11:31:13 -04:00
Manifest.pm Automatically enable backup checksum delta when anomalies (e.g. timeline switch) are detected. 2018-11-01 11:31:25 -04:00
Restore.pm Add error message when current user uid/gid does not map to a name. 2018-12-07 07:41:26 -05:00
RestoreFile.pm Fix delta restore failing when a linked file was missing. 2018-05-02 12:06:12 -04:00
Stanza.pm Rename CipherError to CryptoError. 2018-11-06 19:38:38 -05:00
Version.pm Begin v2.09 development. 2019-01-04 11:00:59 +02:00