Re: Address the bug in 041_checkpoint_at_promote.pl

From: Nitin Jadhav <nitinjadhavpostgres(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Address the bug in 041_checkpoint_at_promote.pl
Date: 2025-02-12 09:59:04
Message-ID: CAMm1aWaTovHwzh8mkBzd+UQztMXtW09YU4QtMr6K4PGDer1HoA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Removing the wakeup makes the test
> complete, but it should wait in its lookup loop.

Thank you for confirming. Besides fixing the if condition as done in
the patch, do you think any other changes are necessary?

Best Regards,
Nitin Jadhav
Azure Database for PostgreSQL
Microsoft

On Wed, Feb 12, 2025 at 1:54 PM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> On Wed, Feb 12, 2025 at 01:28:55PM +0530, Nitin Jadhav wrote:
> > The code is intended to wait for the restart point to complete before
> > proceeding. However, it doesn't actually wait. Regardless of whether
> > the restart point completes, the loop exits after the first iteration
> > because the if condition always evaluates to true. This happens
> > because $logstart is not passed as an argument to log_contains() by
> > mistake. If the restart point operation is quick, this issue might not
> > be noticeable, which is often the case.
> >
> > I've attached a patch to fix this issue. Please review and share your feedback.
>
> Oops, you're right. I am measuring 2ms or so in average between the wakeup
> and the restartpoint complete. Removing the wakeup makes the test
> complete, but it should wait in its lookup loop.
>
> Will fix down to v17 where this error has been introduced.
> --
> Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ilia Evdokimov 2025-02-12 10:10:34 Re: explain analyze rows=%.0f
Previous Message Shubham Khanna 2025-02-12 09:07:08 Re: Enhance 'pg_createsubscriber' to retrieve databases automatically when no database is provided.