RFC: Deadlock detector hooks for victim selection and edge injection - Mailing list pgsql-hackers

From Craig Ringer
Subject RFC: Deadlock detector hooks for victim selection and edge injection
Date
Msg-id CAGRY4nxb9m03t8yjg-n41ki8fZ8yW-gSCVVEhqNZ6=6=77HxNg@mail.gmail.com
Whole thread Raw
Responses Re: RFC: Deadlock detector hooks for victim selection and edge injection
List pgsql-hackers
Hi folks

Now that we're well on track for streaming logical decoding, it's becoming more practical to look at parallel logical apply.

The support for this in pglogical3 benefits from a deadlock detector hook. It was added in the optional patched postgres pglogical can use to enable various extra features that weren't possible without core changes, but isn't present in community postgres yet.

I'd like to add it.

The main benefit is that it lets the logical replication support tell the deadlock detector that it should prefer to kill the victim whose txn has a higher upstream commit lsn. That helps encourage parallel logical apply to make progress in the face of deadlocks between concurrent txns.

Any in-principle objections?


pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Single transaction in the tablesync worker?
Next
From: Craig Ringer
Date:
Subject: RFC: Deadlock detector hooks for edge injection