[PATCH] Re: BUG #16032: pg_basebackup when running on Windows doesn't clean up on failure correctly

Поиск
Список
Период
Сортировка
От Rob Emery
Тема [PATCH] Re: BUG #16032: pg_basebackup when running on Windows doesn't clean up on failure correctly
Дата
Msg-id 0c6477f627e63c9cea68a6eda3f29a74@mintsoft.net
обсуждение исходный текст
Ответ на BUG #16032: pg_basebackup when running on Windows doesn't clean up on failure correctly  (PG Bug reporting form <noreply@postgresql.org>)
Ответы Re: [PATCH] Re: BUG #16032: pg_basebackup when running on Windowsdoesn't clean up on failure correctly  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-bugs
Hello,

I've already posted this to pg_hackers, but I'm not sure if it's more 
normal to
post proposed fixes against the bug itself; so see attached if needed.

Thanks,
Rob



On 2019-10-01 17:06, PG Bug reporting form wrote:
> The following bug has been logged on the website:
> 
> Bug reference:      16032
> Logged by:          Rob Emery
> Email address:      postgresql@mintsoft.net
> PostgreSQL version: 11.5
> Operating system:   Windows
> Description:
> 
> Hello,
> 
> When running a pg_basebackup in tar mode on windows against a PG 9.5 
> box we
> are finding that the backup doesn't get deleted successfully when it
> fails.
> Based on
>
https://github.com/postgres/postgres/commit/9083353b15c3cf8e7bbac104a81ad42281178cdf#diff-473d306e41ee616e92fb58ac128a9dcc
> we would expect it to?
> 
> To reproduce start running pg_basebackup like so:
> 
> PS C:\Users\developer> & "$PgBinPath\pg_basebackup.exe" 
> --host="PGSERVER"
> --pgdata="D:\Backups\rofl" --format=tar --wal-method=fetch
> --username="backup_user"
> 
> from a psql on the box run:
> `SELECT pg_terminate_backend(pid) FROM pg_stat_replication WHERE state 
> =
> 'backup';`
> this kills the backup.
> 
> If you run pg_basebackup on a linux box it nicely deletes the base.tar 
> and
> the directory, whereas on windows we get the following error:
> ```
> pg_basebackup: could not read COPY data: SSL SYSCALL error: EOF 
> detected
> pg_basebackup: removing data directory "D:\Backups\rofl"
> could not remove file or directory "D:\Backups\rofl/base.tar": 
> Permission
> denied
> could not remove file or directory "D:\Backups\rofl": Directory not 
> empty
> pg_basebackup: failed to remove data directory
> ```
> Once pg_basebackup has exited, the file lock seems to be gone and we 
> can
> delete it ourselves,
> it looks like pg_basebackup is contending with itself but only on 
> Windows.
> 
> We've reproduced this on 2 different Windows machines so we don't think 
> it's
> something like AntiVirus getting in the way or similiar.
> 
> Thanks,
> Rob

Вложения

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Andrew Gierth
Дата:
Сообщение: Re: BUG #16031: Group by returns duplicate groups
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: [PATCH] Re: BUG #16032: pg_basebackup when running on Windowsdoesn't clean up on failure correctly