Re: Fix memory counter update in reorderbuffer - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Fix memory counter update in reorderbuffer
Date
Msg-id CAA4eK1JGihYuA_Xouh5EmEiv=NNzFiBwpX97RwYXvJQN=UH5ww@mail.gmail.com
Whole thread Raw
In response to Re: Fix memory counter update in reorderbuffer  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: Fix memory counter update in reorderbuffer
List pgsql-hackers
On Thu, Aug 8, 2024 at 9:43 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
>
> On Wed, Aug 7, 2024 at 3:17 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
> >
> > On Wed, Aug 7, 2024 at 7:42 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
>
> >
> > >
> > > > BTW, commit 5bec1d6bc5e also introduced
> > > > ReorderBufferChangeMemoryUpdate() in ReorderBufferTruncateTXN() which
> > > > is also worth considering while fixing the reported problem. It may
> > > > not have the same problem as you have reported but we can consider
> > > > whether setting txn size as zero explicitly is required or not.
> > >
> > > The reason why it introduced ReorderBufferChangeMemoryUpdate() is the
> > > same as I mentioned above. And yes, as you mentioned, it doesn't have
> > > the same problem that I reported here.
> > >
> >
> > I checked again and found that ReorderBufferResetTXN() first calls
> > ReorderBufferTruncateTXN() and then ReorderBufferToastReset(). After
> > that, it also tries to free spec_insert change which should have the
> > same problem. So, what saves this path from the same problem?
>
> Good catch. I've not created a test case for that but it seems to be
> possible to happen.
>
> I think that subtracting txn->size to reduce the memory counter to
> zero seems to be a wrong idea in the first place. If we want to save
> updating memory counter and max-heap, we should use the exact memory
> size that we freed. In other words, just change the memory usage
> update to a batch operation.
>

Sounds reasonable but how would you find the size for a batch update
operation? Are you planning to track it while freeing the individual
changes?

--
With Regards,
Amit Kapila.



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: [bug fix] prepared transaction might be lost when max_prepared_transactions is zero on the subscriber
Next
From: shveta malik
Date:
Subject: Re: Logical Replication of sequences