Re: Fix for segfault in logical replication on master

Поиск
Список
Период
Сортировка
От Japin Li
Тема Re: Fix for segfault in logical replication on master
Дата
Msg-id MEYP282MB166958031E67BC202BBB06ACB60A9@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM
обсуждение исходный текст
Ответ на Re: Fix for segfault in logical replication on master  (Amit Kapila <amit.kapila16@gmail.com>)
Ответы Re: Fix for segfault in logical replication on master  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers
On Sat, 19 Jun 2021 at 17:18, Amit Kapila <amit.kapila16@gmail.com> wrote:
> On Fri, Jun 18, 2021 at 9:18 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
>>
>> > I thought it was cheap enough to check that the relation we open is an index, because if it is not, we'll segfault
whenaccessing fields of the relation->rd_index struct.  I wouldn't necessarily advocate doing any really expensive
checkshere, but a quick sanity check seemed worth the effort.
 
>> >
>>
>> I am not telling you anything about the cost of these sanity checks. I
>> suggest you raise elog rather than return NULL because if this happens
>> there is definitely some problem and continuing won't be a good idea.
>>
>
> Pushed, after making the above change. Additionally, I have moved the
> test case to the existing file 001_rep_changes instead of creating a
> new one as the test seems to fit there and I was not sure if the test
> for just this case deserves a new file.

Hi, Amit

Sorry for the late repay.

When we find that the relation has no replica identity index, I think we should
free the memory of the indexoidlist.  Since we free the memory owned by
indexoidlist at end of RelationGetIdentityKeyBitmap().

       if (!OidIsValid(relation->rd_replidindex))
       {
               list_free(indexoidlist);
               return NULL;
       }

Or we can free the memory owned by indexoidlist after check whether it is NIL,
because we do not use it in the later.

If we do not free the memory, there might be a memory leak when
relation->rd_replidindex is invalid.  Am I right?

-- 
Regrads,
Japin Li.
ChengDu WenWu Information Technology Co.,Ltd.



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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Add index OID macro argument to DECLARE_INDEX
Следующее
От: yuzuko
Дата:
Сообщение: Autovacuum (analyze) on partitioned tables for ATTACH/DETACH/DROP commands