Re: Add Information during standby recovery conflicts

Drouvot, Bertrand <bdrouvot@amazon.com>

From: "Drouvot, Bertrand" <bdrouvot@amazon.com>
To: Fujii Masao <masao.fujii@oss.nttdata.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-01-08T05:02:51Z
Lists: pgsql-hackers
Hi,

On 1/7/21 4:51 PM, Fujii Masao wrote:
> Thanks for the review! I pushed the latest patch.
>
Thanks all of you for your precious help on this patch!

The original idea behind this thread has been split into 3 pieces.

Pieces 1 (9d0bd95fa90a7243047a74e29f265296a9fc556d) and 2 
(0650ff23038bc3eb8d8fd851744db837d921e285) have now been committed, the 
last one is to add more information regarding the canceled statements 
(if any), like:

* What was the blocker(s) doing?
* When did the blocker(s) started their queries (if any)?
* What was the blocker(s) waiting for? on which wait event?

Does this proposal sound good to you? If so I'll start a new thread with 
a patch proposal.

Bertrand




Commits

  1. Log long wait time on recovery conflict when it's resolved.

  2. Add GUC to log long wait times on recovery conflicts.

  3. Detect the deadlocks between backends and the startup process.

  4. Get rid of the dedicated latch for signaling the startup process.

  5. Add block information in error context of WAL REDO apply loop