Hello,
I just noticed that if the archiver aborts (for instance if the
archive_command exited with a return code > 127), pg_stat_archiver won't
report those failed attempts. This happens with both 9.4 and 9.5 branches.
Please find attached a patch that fix this issue, based on current head.
Regards.
--
Julien Rouhaud
http://dalibo.com - http://dalibo.org
*** a/src/backend/postmaster/pgarch.c
--- b/src/backend/postmaster/pgarch.c
***************
*** 578,585 **** pgarch_archiveXlog(char *xlog)
*
* Per the Single Unix Spec, shells report exit status > 128 when a
* called command died on a signal.
*/
! int lev = (WIFSIGNALED(rc) || WEXITSTATUS(rc) > 128) ? FATAL : LOG;
if (WIFEXITED(rc))
{
--- 578,595 ----
*
* Per the Single Unix Spec, shells report exit status > 128 when a
* called command died on a signal.
+ *
+ * If the archiver abort, we still need to tell the collector about
+ * the WAL file that we failed to archive.
*/
! int lev;
! if (WIFSIGNALED(rc) || WEXITSTATUS(rc) > 128)
! {
! lev = FATAL;
! pgstat_send_archiver(xlog, true);
! }
! else
! lev = LOG;
if (WIFEXITED(rc))
{
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers