Re: "ERROR: deadlock detected" when replicating TRUNCATE
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Peter Smith <smithpb2250@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-05-20T06:04:51Z
Lists: pgsql-hackers
Attachments
- v4-0001-Fix-deadlock-for-multiple-replicating-truncates-11.patch (application/octet-stream) patch v4-0001
- v4-0001-Fix-deadlock-for-multiple-replicating-truncates-12.patch (application/octet-stream) patch v4-0001
- v4-0001-Fix-deadlock-for-multiple-replicating-truncates-13.patch (application/octet-stream) patch v4-0001
- v4-0001-Fix-deadlock-for-multiple-replicating-truncates-HEAD.patch (application/octet-stream) patch v4-0001
On Tue, May 18, 2021 at 6:52 AM Peter Smith <smithpb2250@gmail.com> wrote: > > > > > Yeah, have you checked it in the back branches? > > > > Yes, the apply_handle_truncate function was introduced in April/2018 [1]. > > REL_11_0 was tagged in Oct/2018. > > The "ERROR: deadlock detected" log is reproducible in PG 11.0. > Okay, I have prepared the patches for all branches (11...HEAD). Each version needs minor changes in the test, the code doesn't need much change. Some notable changes in the tests: 1. I have removed the conf change for max_logical_replication_workers on the publisher node. We only need this for the subscriber node. 2. After creating the new subscriptions wait for initial synchronization as we do for other tests. 3. synchronous_standby_names need to be reset for the previous test. This is only required for HEAD. 4. In PG-11, we need to specify the application_name in the connection string, otherwise, it took the testcase file name as application_name. This is the same as other tests are doing in PG11. Can you please once verify the attached patches? -- With Regards, Amit Kapila.
Commits
-
Fix deadlock for multiple replicating truncates of the same table.
- 71787b23e3dc 11.13 landed
- 18c6242b7c6d 12.8 landed
- c83c0257e4c3 13.4 landed
- 6d0eb3855715 14.0 landed
-
Logical replication support for TRUNCATE
- 039eb6e92f20 11.0 cited