Re: Backup command and functions can cause assertion failure and segmentation fault - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: Backup command and functions can cause assertion failure and segmentation fault
Date
Msg-id 6a759108-a02c-34fd-856c-d7c09d29d2ba@oss.nttdata.com
Whole thread Raw
In response to Re: Backup command and functions can cause assertion failure and segmentation fault  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: Backup command and functions can cause assertion failure and segmentation fault
List pgsql-hackers

On 2022/07/01 15:09, Masahiko Sawada wrote:
> The change looks good to me. I've also confirmed the change fixed the issues.

Thanks for the review and test!

> @@ -233,6 +233,12 @@ perform_base_backup(basebackup_options *opt, bbsink *sink)
>      StringInfo  labelfile;
>      StringInfo  tblspc_map_file;
>      backup_manifest_info manifest;
> +   SessionBackupState status = get_backup_status();
> +
> +   if (status == SESSION_BACKUP_RUNNING)
> +       ereport(ERROR,
> +               (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
> +                errmsg("a backup is already in progress in this session")));
> 
> I think we can move it to the beginning of SendBaseBackup() so we can
> avoid bbsink initialization and cleanup in the error case.

Sounds good idea to me. I updated the patch in that way. Attached.

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION
Attachment

pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: Eliminating SPI from RI triggers - take 2
Next
From: Michael Paquier
Date:
Subject: Re: Backup command and functions can cause assertion failure and segmentation fault