Re: Remove a redundant condition check
On Thu, Jun 25, 2020 at 11:23 PM Ádám Balogh wrote: > > > A one line change to remove a duplicate check. This duplicate check was > detected during testing my contribution to a static code analysis tool. There > is no functional change, no new tests needed. > > Yeah, this duplicate check is added as part of commit b2a5545bd6. See below part of change. - /* - * If this record was a timeline switch, wake up any - * walsenders to notice that we are on a new timeline. - */ - if (switchedTLI && AllowCascadeReplication()) - WalSndWakeup(); + /* Is this a timeline switch? */ + if (switchedTLI) + { + /* + * Before we continue on the new timeline, clean up any + * (possibly bogus) future WAL segments on the old timeline. + */ + RemoveNonParentXlogFiles(EndRecPtr, ThisTimeLineID); + + /* + * Wake up any walsenders to notice that we are on a new + * timeline. + */ + if (switchedTLI && AllowCascadeReplication()) + WalSndWakeup(); + } It seems we forgot to remove the additional check for switchedTLI while adding a new check. I think we can remove this duplicate check in the HEAD code. I am not sure if it is worth to backpatch such a change. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Re: Remove a redundant condition check
On Fri, Jun 26, 2020 at 02:39:22PM +0530, Amit Kapila wrote: > It seems we forgot to remove the additional check for switchedTLI > while adding a new check. I think we can remove this duplicate check > in the HEAD code. I am not sure if it is worth to backpatch such a > change. Yes, there is no point to keep this check so let's clean up this code. I also see no need to do a backpatch here, this is purely cosmetic. -- Michael signature.asc Description: PGP signature
Re: Remove a redundant condition check
Em sex., 26 de jun. de 2020 às 06:09, Amit Kapila escreveu: > On Thu, Jun 25, 2020 at 11:23 PM Ádám Balogh > wrote: > > > > > > A one line change to remove a duplicate check. This duplicate check was > detected during testing my contribution to a static code analysis tool. > There is no functional change, no new tests needed. > > > > > > Yeah, this duplicate check is added as part of commit b2a5545bd6. See > below part of change. > > - /* > - * If this record was a timeline switch, wake up any > - * walsenders to notice that we are on a new timeline. > - */ > - if (switchedTLI && AllowCascadeReplication()) > - WalSndWakeup(); > + /* Is this a timeline switch? */ > + if (switchedTLI) > + { > + /* > + * Before we continue on the new timeline, clean up any > + * (possibly bogus) future WAL segments on the old timeline. > + */ > + RemoveNonParentXlogFiles(EndRecPtr, ThisTimeLineID); > + > + /* > + * Wake up any walsenders to notice that we are on a new > + * timeline. > + */ > + if (switchedTLI && AllowCascadeReplication()) > + WalSndWakeup(); > + } > > It seems we forgot to remove the additional check for switchedTLI > while adding a new check. I think we can remove this duplicate check > in the HEAD code. I am not sure if it is worth to backpatch such a > change. > +1 Great to know, that this is finally going to be fixed. (1) regards, Ranier Vilela 1. https://www.postgresql.org/message-id/CAEudQAocMqfqt0t64HNo39Z73jMey60WmeryB%2BWFDg3BZpCf%3Dg%40mail.gmail.com
RE: Remove a redundant condition check
Hello, -Original Message- From: Amit Kapila Sent: 2020. június 26., péntek 11:09 To: Ádám Balogh Cc: PostgreSQL Hackers Subject: Re: Remove a redundant condition check >On Thu, Jun 25, 2020 at 11:23 PM Ádám Balogh wrote: >> >> >> A one line change to remove a duplicate check. This duplicate check was >> detected during testing my contribution to a static code analysis tool. >> There is no functional change, no new tests needed. > > Yeah, this duplicate check is added as part of commit b2a5545bd6. See below > part of change. > > - /* > - * If this record was a timeline switch, wake up any > - * walsenders to notice that we are on a new timeline. > - */ > - if (switchedTLI && AllowCascadeReplication()) > - WalSndWakeup(); > + /* Is this a timeline switch? */ > + if (switchedTLI) > + { > + /* > + * Before we continue on the new timeline, clean up any > + * (possibly bogus) future WAL segments on the old timeline. > + */ > + RemoveNonParentXlogFiles(EndRecPtr, ThisTimeLineID); > + > + /* > + * Wake up any walsenders to notice that we are on a new > + * timeline. > + */ > + if (switchedTLI && AllowCascadeReplication()) WalSndWakeup(); } > > It seems we forgot to remove the additional check for switchedTLI while > adding a new check. I think we can remove this duplicate > > check in the > HEAD code. I am not sure if it is worth to backpatch such a change. Thank you for confirming it. I do not think it is worth to backpatch, it is just a readability issue. Regards, Ádám
Re: Remove a redundant condition check
On Fri, Jun 26, 2020 at 3:32 PM Michael Paquier wrote: > > On Fri, Jun 26, 2020 at 02:39:22PM +0530, Amit Kapila wrote: > > It seems we forgot to remove the additional check for switchedTLI > > while adding a new check. I think we can remove this duplicate check > > in the HEAD code. I am not sure if it is worth to backpatch such a > > change. > > Yes, there is no point to keep this check so let's clean up this > code. I also see no need to do a backpatch here, this is purely > cosmetic. > Thanks for the confirmation, pushed! -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com