Re: Decoding speculative insert with toast leaks memory

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Petr Jelinek <petr.jelinek@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Tomas Vondra <tomas.vondra@enterprisedb.com>
Date: 2021-06-09T10:51:51Z
Lists: pgsql-hackers
On Wed, Jun 9, 2021 at 4:12 PM Dilip Kumar <dilipbalaut@gmail.com> wrote:
>
> On Wed, Jun 9, 2021 at 11:03 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
>>
>> On Tue, Jun 8, 2021 at 5:16 PM Dilip Kumar <dilipbalaut@gmail.com> wrote:
>> >
>> > Based on the off list discussion, I have modified the test based on
>> > the idea showed in
>> > "isolation/specs/insert-conflict-specconflict.spec", other open point
>> > we had about the race condition that how to ensure that when we unlock
>> > any session it make progress, IMHO the isolation tested is designed in
>> > a way that either all the waiting session returns with the output or
>> > again block on a heavy weight lock before performing the next step.
>> >
>>
>> Few comments:
>> 1. The test has a lot of similarities and test duplication with what
>> we are doing in insert-conflict-specconflict.spec. Can we move it to
>> insert-conflict-specconflict.spec? I understand that having it in
>> test_decoding has the advantage that we can have all decoding tests in
>> one place but OTOH, we can avoid a lot of test-code duplication if we
>> add it in insert-conflict-specconflict.spec.
>>
>
> It seems the isolation test runs on the default configuration, will it be a good idea to change the wal_level to logical for the whole isolation tester folder?
>

No, that doesn't sound like a good idea to me. Let's keep it in
test_decoding then.

-- 
With Regards,
Amit Kapila.



Commits

  1. Fix ABI break introduced by commit 4daa140a2f.

  2. Fix valgrind issue in pgoutput.c.

  3. Fix decoding of speculative aborts.

  4. pgoutput: Fix memory leak due to RelationSyncEntry.map.

  5. Fix initialization of RelationSyncEntry for streaming transactions.

  6. Implement streaming mode in ReorderBuffer.