Thread: Remove incorrect assertion in reorderbuffer.c.
We start recording changes in ReorderBufferTXN even before we reach SNAPBUILD_CONSISTENT state so that if the commit is encountered after reaching that we should be able to send the changes of the entire transaction. Now, while recording changes if the reorder buffer memory has exceeded logical_decoding_work_mem then we can start streaming if it is allowed and we haven't yet streamed that data. However, we must not allow streaming to start unless the snapshot has reached SNAPBUILD_CONSISTENT state. I have also improved the comments atop ReorderBufferResetTXN to mention the case when we need to continue streaming after getting an error. Attached patch for the above changes. Thoughts?
Attachment
On Thu, Dec 3, 2020 at 5:33 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > We start recording changes in ReorderBufferTXN even before we reach > SNAPBUILD_CONSISTENT state so that if the commit is encountered after > reaching that we should be able to send the changes of the entire > transaction. Now, while recording changes if the reorder buffer memory > has exceeded logical_decoding_work_mem then we can start streaming if > it is allowed and we haven't yet streamed that data. However, we must > not allow streaming to start unless the snapshot has reached > SNAPBUILD_CONSISTENT state. > > I have also improved the comments atop ReorderBufferResetTXN to > mention the case when we need to continue streaming after getting an > error. > > Attached patch for the above changes. > > Thoughts? LGTM. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
On Fri, Dec 4, 2020 at 11:19 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > On Thu, Dec 3, 2020 at 5:33 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > We start recording changes in ReorderBufferTXN even before we reach > > SNAPBUILD_CONSISTENT state so that if the commit is encountered after > > reaching that we should be able to send the changes of the entire > > transaction. Now, while recording changes if the reorder buffer memory > > has exceeded logical_decoding_work_mem then we can start streaming if > > it is allowed and we haven't yet streamed that data. However, we must > > not allow streaming to start unless the snapshot has reached > > SNAPBUILD_CONSISTENT state. > > > > I have also improved the comments atop ReorderBufferResetTXN to > > mention the case when we need to continue streaming after getting an > > error. > > > > Attached patch for the above changes. > > > > Thoughts? > > LGTM. > Thanks for the review, Pushed! -- With Regards, Amit Kapila.