Re: [BUG] Failed Assertion in ReorderBufferChangeMemoryUpdate()
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: "Drouvot, Bertrand" <bdrouvot@amazon.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-09-06T11:54:59Z
Lists: pgsql-hackers
On Mon, Sep 6, 2021 at 4:04 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > On Fri, Aug 13, 2021 at 3:15 PM Drouvot, Bertrand <bdrouvot@amazon.com> > wrote: > > > > > > Please find attached a patch proposal to avoid the failed assertion (by > ensuring that ReorderBufferChangeMemoryUpdate() being triggered with > "addition" set to false in ReorderBufferToastReplace() is done after the > elog(ERROR,)). > > > > The error can occur at multiple places (like via palloc or various > other places) between the first time we subtract the change_size and > add it back after the change is re-computed. I think the correct fix > would be that in the beginning we just compute the change_size by > ReorderBufferChangeSize and then after re-computing the change, we > just subtract the old change_size and add the new change_size. What do > you think? > Yeah, that seems more logical to me. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
Fix reorder buffer memory accounting for toast changes.
- 58cf794ca68d 13.5 landed
- f5e0ff4631b5 14.0 landed
- df3640e5293d 15.0 landed