Re: logical replication: could not create file "state.tmp": Fileexists - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: logical replication: could not create file "state.tmp": Fileexists
Date
Msg-id 20200525203541.GA13908@alvherre.pgsql
Whole thread Raw
In response to logical replication: could not create file "state.tmp": File exists  (Grigory Smolkin <g.smolkin@postgrespro.ru>)
Responses Re: logical replication: could not create file "state.tmp": Fileexists  (Michael Paquier <michael@paquier.xyz>)
List pgsql-bugs
On 2019-Nov-30, Grigory Smolkin wrote:

> One of my colleagues encountered an out of space condition, which broke his
> logical replication setup.
> It`s manifested with the following errors:
> 
> ERROR:  could not receive data from WAL stream: ERROR:  could not create
> file "pg_replslot/some_sub/state.tmp": File exists

We haven't addressed this problem, have we?  At least, I see that this
routine still looks like this:

> diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c
> index 21ae8531b3..ef415b44c8 100644
> --- a/src/backend/replication/slot.c
> +++ b/src/backend/replication/slot.c
> @@ -1253,7 +1253,7 @@ SaveSlotToPath(ReplicationSlot *slot, const char *dir, int elevel)
>      sprintf(tmppath, "%s/state.tmp", dir);
>      sprintf(path, "%s/state", dir);
>  
> -    fd = OpenTransientFile(tmppath, O_CREAT | O_EXCL | O_WRONLY | PG_BINARY);


-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #16461: Segfault in autovacuum process
Next
From: Bruce Momjian
Date:
Subject: Re: BUG #16380: documentation: host[no]gssenc vs.address/IP-address/IP-mask fields