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?