Non-blocking archiver process - Mailing list pgsql-hackers

From Ronan Dunklau
Subject Non-blocking archiver process
Date
Msg-id 2382367.ElGaqSPkdT@aivenlaptop
Whole thread Raw
List pgsql-hackers
Hello,

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 ?

Thanks !

--
Ronan Dunklau





pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Add pg_get_injection_points() for information of injection points
Next
From: Hannu Krosing
Date:
Subject: Re: Adding pg_dump flag for parallel export to pipes