Обсуждение: Remove a redundant condition check
Hello,
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.
Regards,
Ádám Balogh
CodeChecker Team
Ericsson Hungary
Вложения
On Thu, Jun 25, 2020 at 11:23 PM Ádám Balogh <adam.balogh@ericsson.com> wrote: > > > A one line change to remove a duplicate check. This duplicate check was detected during testing my contribution to a staticcode 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
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
Вложения
Hello, -----Original Message----- From: Amit Kapila <amit.kapila16@gmail.com> Sent: 2020. június 26., péntek 11:09 To: Ádám Balogh <adam.balogh@ericsson.com> Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org> Subject: Re: Remove a redundant condition check >On Thu, Jun 25, 2020 at 11:23 PM Ádám Balogh <adam.balogh@ericsson.com> wrote: >> >> >> A one line change to remove a duplicate check. This duplicate check was detected during testing my contribution to a staticcode 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 thisduplicate > > 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
Em sex., 26 de jun. de 2020 às 06:09, Amit Kapila <amit.kapila16@gmail.com> escreveu:
On Thu, Jun 25, 2020 at 11:23 PM Ádám Balogh <adam.balogh@ericsson.com> 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
On Fri, Jun 26, 2020 at 3:32 PM Michael Paquier <michael@paquier.xyz> 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