Re: adding partitioned tables to publications

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Re: adding partitioned tables to publications
Дата
Msg-id CAA4eK1KC+4DNq=Q-B5V0VyVV+6jbtjbg4aE0Kwx5vUyVPKNbWw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: adding partitioned tables to publications  ("赵锐" <875941708@qq.com>)
Ответы Re: adding partitioned tables to publications  ("Mark Zhao" <875941708@qq.com>)
Список pgsql-hackers
On Wed, Dec 30, 2020 at 8:03 PM 赵锐 <875941708@qq.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
enlargeand 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
andre-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.

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: 曾文旌
Дата:
Сообщение: Re: Proposal: Global Index
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: Added schema level support for publication.