Re: Decoding speculative insert with toast leaks memory

Dilip Kumar <dilipbalaut@gmail.com>

From: Dilip Kumar <dilipbalaut@gmail.com>
To: Amit Kapila <amit.kapila16@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:42:34Z
Lists: pgsql-hackers
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?

-- 
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com

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.