From: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
---|---|
To: | Bowen Shi <zxwsbg12138(at)gmail(dot)com> |
Cc: | shveta malik <shveta(dot)malik(at)gmail(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #17716: walsender process hang while decoding 'DROP PUBLICATION' XLOG |
Date: | 2023-01-03 03:55:29 |
Message-ID: | CAA4eK1JcL6cW6OQi4GMW-kWwnGstunQW+QkW+NkEMmjqYt_tUw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Mon, Dec 19, 2022 at 9:58 PM Bowen Shi <zxwsbg12138(at)gmail(dot)com> wrote:
>
> 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 don't see any obvious problem with your suggested fix but it doesn't
appear to be a very good solution as it will still mark all entries
for an invalidation after any valid DML operation. Also, there doesn't
appear to be much benefit in versions >=v14 (as per tests done till
now). So, instead of partially solving your use case for old versions,
isn't it better if you can upgrade to later versions (>=14)?
--
With Regards,
Amit Kapila.
From | Date | Subject | |
---|---|---|---|
Next Message | Alex Richman | 2023-01-03 12:56:33 | Re: Segfault while creating logical replication slots on active DB 14.6-1 + 15.1-1 |
Previous Message | Sam Bortman | 2023-01-03 00:03:25 | Re: BUG #17735: Uninstall of one version wipes out logs for all versions |