Re: [BUG] Failed Assertion in ReorderBufferChangeMemoryUpdate()

From: "Drouvot, Bertrand" <bdrouvot(at)amazon(dot)com>
To: Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [BUG] Failed Assertion in ReorderBufferChangeMemoryUpdate()
Date: 2021-09-07 06:03:38
Message-ID: 51babafd-4c0c-9b69-ec5c-5e4740d2606b@amazon.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 9/7/21 7:58 AM, Dilip Kumar wrote:
>
> On Tue, Sep 7, 2021 at 11:10 AM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com
> <mailto:amit(dot)kapila16(at)gmail(dot)com>> wrote:
>
> >> Isn't it better if we use option 2) at all places as then we won't
> >> need any special check inside ReorderBufferChangeMemoryUpdate()?
> >
> >
> > If we want to do this then be careful about
> REORDER_BUFFER_CHANGE_INTERNAL_TUPLECID change. Basically,
> ReorderBufferChangeMemoryUpdate() ignores this type of change
> whereas ReorderBufferChangeSize(), consider at least
> sizeof(ReorderBufferChange) bytes to this change.  So if we
> compute the size using ReorderBufferChangeSize() outside of
> ReorderBufferChangeMemoryUpdate(), then total size will be
> different from what we have now.   Logically, we should be
> ignoring/asserting REORDER_BUFFER_CHANGE_INTERNAL_TUPLECID in
> ReorderBufferChangeSize(), because
> ReorderBufferChangeMemoryUpdate() is the only caller for this
> function.
> >
>
> Why can't we simply ignore it in ReorderBufferChangeMemoryUpdate() as
> we are doing now?
>
>
> Yeah right, we can actually do that, it doesn't matter even if we are
> passing the size from outside.

Agree, if no objections, I'll prepare a patch with the modified approach
of option 2) proposed by Amit (means passing the size from the outside
in all the cases).

Thanks

Bertrand

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2021-09-07 06:05:19 Re: stat() vs ERROR_DELETE_PENDING, round N + 1
Previous Message Julien Rouhaud 2021-09-07 06:00:28 Re: Data loss when '"json_populate_recorset" with long column name