| 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: | Whole Thread | Raw Message | 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 |
| 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 |