Re: BUG #17716: walsender process hang while decoding 'DROP PUBLICATION' XLOG

From: Bowen Shi <zxwsbg12138(at)gmail(dot)com>
To: shveta malik <shveta(dot)malik(at)gmail(dot)com>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #17716: walsender process hang while decoding 'DROP PUBLICATION' XLOG
Date: 2022-12-19 12:22:21
Message-ID: CAM_vCudVP=zWPaTXo23voZUSFnwrF7dMkVRYpiExkxiiTsvo6w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hello,
Thanks for your advice. I make some tests and this problem can't be
reproduced in PG 14+ version. I think adding a new XLOG type will help
resolve this problem. But I think the following patch may be helpful
in the PG 13 version.

The invalidation contains two parts: pgoutput and relfilenodeMap. We
have no way to optimize relfilenodeMap part , since it has been
discussed in previous mails
https://www.postgresql.org/message-id/CANDwggKYveEtXjXjqHA6RL3AKSHMsQyfRY6bK+NqhAWJyw8psQ@mail.gmail.com.

However, I'd like to contribute a patch to fix pgoutput part. We can skip
invalidating caches after first time with a lazy tag and this works.
It almost doubles the walsender performance while decoding this XLOG.

I use the test in the last email and reduce the number of relations in
publications to 1000, the test result is following:

Before optimization: 76 min
After optimization: 35 min

Though the result is not good enough, I think this patch is still worthy.

Attachment Content-Type Size
0001-Add-cache-invalid-flag-in-pgoutput.patch application/octet-stream 2.2 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2022-12-20 03:35:22 BUG #17725: Sefault when seg_in() called with a large argument
Previous Message Robins Tharakan 2022-12-19 12:03:44 Re: BUG #17713: Assert with postgres_fdw in v12