From: | Mark Zhao <875941708(at)qq(dot)com> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Amit Langote <amitlangote09(at)gmail(dot)com>, Petr Jelinek <petr(at)2ndquadrant(dot)com>, Rafia Sabih <rafia(dot)pghackers(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: adding partitioned tables to publications |
Date: | 2021-01-11 12:03:34 |
Message-ID: | tencent_BC6941FB423FC8AB628371AD53FA0B1F4905@qq.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Thanks for your reply. The patch is exactly what I want.
My English name is Mark Zhao, which should be the current email name.
Thanks,
Mark Zhao
------------------ Original ------------------
From: "Amit Kapila";<amit(dot)kapila16(at)gmail(dot)com>;
Send time: Monday, Jan 11, 2021 8:12 PM
To: "赵锐"<875941708(at)qq(dot)com>;
Cc: "Peter Eisentraut"<peter(dot)eisentraut(at)2ndquadrant(dot)com>; "Amit Langote"<amitlangote09(at)gmail(dot)com>; "Petr Jelinek"<petr(at)2ndquadrant(dot)com>; "Rafia Sabih"<rafia(dot)pghackers(at)gmail(dot)com>; "PostgreSQL-development"<pgsql-hackers(at)postgresql(dot)org>;
Subject: Re: adding partitioned tables to publications
On Wed, Dec 30, 2020 at 8:03 PM 赵锐 <875941708(at)qq(dot)com> wrote:
>
> The first file of Amit's patch can not only re-range the code, but also fix a hidden bug.
> To make it easy to see, I attach another patch.
> "RelationIdGetRelation" will increase ref on owner->relrefarr, without "RelationClose", the owner->relrefarr will enlarge and re-hash.
> When the capacity of owner->relrefarr is over than 10 million, enlarge and re-hash takes serial hours. And what's worse, increase ref will also take minutes, as the hash collision resolution is based on looking up an array in order.
> When we want to publish 10 billion data under one partition table, it takes serial days up to increase ref, enlarge and re-hash, and CPU is always 99%.
> After applying my patch, 10 billion will be published in 10 minutes.
>
It is a clear relation descriptor leak. The proposed fix seems correct
to me. The patch wasn't getting applied to HEAD. So, I have prepared
the separate patches for HEAD and 13. There are minor modifications in
the patch like I have used RelationIsValid before closing the
relation. I have not added any test because I see that there is
already a test in src/test/subscription/t/013_partition.
Kindly let me know your English name so that I can give you credit as
a co-author?
--
With Regards,
Amit Kapila.
From | Date | Subject | |
---|---|---|---|
Next Message | 曾文旌 | 2021-01-11 13:00:45 | Re: Proposal: Global Index |
Previous Message | Tang, Haiying | 2021-01-11 11:59:13 | RE: [POC] Fast COPY FROM command for the table with foreign partitions |