Re: Non-blocking archiver process

Поиск
Список
Период
Сортировка
От Noah Misch
Тема Re: Non-blocking archiver process
Дата
Msg-id 20250705030107.f4.nmisch@google.com
обсуждение исходный текст
Ответ на Non-blocking archiver process  (Ronan Dunklau <ronan.dunklau@aiven.io>)
Список pgsql-hackers
On Fri, Jul 04, 2025 at 08:46:08AM +0200, Ronan Dunklau wrote:
> We've noticed a behavior that seems surprising to us. 
> Since DROP DATABASE now waits for a ProcSignalBarrier, it can hang up 
> indefinitely if the archive_command hangs. 
> 
> The reason for this is that the builtin archive module doesn't process any 
> interrupts while the archiving command is running, as it's run with a system() 
> call, blocking undefintely. 
> 
> Before rushing on to implement a non-blocking archive library (perhaps using 
> popen or posix_spawn, while keeping other systems in mind), what unintended 
> consequences would it have to actually run the archive_command in a non-
> blocking way, and checking interrupts while it runs ?

I can't think of any unintended consequences.  I think we just missed this
when adding the first use of ProcSignalBarrier (v15).  Making this easier to
miss, archiver spent most of its history not connecting to shared memory.  Its
shared memory connection appeared in v14.



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