Re: [BUG] Failed Assertion in ReorderBufferChangeMemoryUpdate()
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: "Drouvot, Bertrand" <bdrouvot@amazon.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-09-06T15:43:50Z
Lists: pgsql-hackers
On Mon, Sep 6, 2021 at 8:54 PM Drouvot, Bertrand <bdrouvot@amazon.com> wrote: > Thanks for your feedback! > > That seems indeed more logical, so I see 3 options to do so: > > 1) Add a new API say ReorderBufferChangeMemorySubstractSize() (with a > Size as one parameter) and make use of it in ReorderBufferToastReplace() > > 2) Add a new "Size" parameter to ReorderBufferChangeMemoryUpdate(), so > that if this parameter is > 0 then it would be used instead of "sz = > ReorderBufferChangeSize(change)" > > 3) Do the substraction directly into ReorderBufferToastReplace() without > any API > > I'm inclined to go for option 2), what do you think? > Yet another option could be to create a new API say ReorderBufferReplaceChangeMemoryUpdate(), which takes, 2 parameters, oldchange, and newchange as inputs, it will compute the difference and add/subtract that size. Logically, that is what we are actually trying to do right? i.e. replacing old change with the new change. -- 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