Re: Avoid stuck of pbgench due to skipped transactions - Mailing list pgsql-hackers

From Yugo NAGATA
Subject Re: Avoid stuck of pbgench due to skipped transactions
Date
Msg-id 20210614112037.b2963e40ac0a2031a7a9983d@sraoss.co.jp
Whole thread Raw
In response to Re: Avoid stuck of pbgench due to skipped transactions  (Fabien COELHO <coelho@cri.ensmp.fr>)
Responses Re: Avoid stuck of pbgench due to skipped transactions
List pgsql-hackers
Hello Fabien,

On Sun, 13 Jun 2021 08:56:59 +0200 (CEST)
Fabien COELHO <coelho@cri.ensmp.fr> wrote:

> > I attached a patch for this fix.
> 
> The patch mostly works for me, and I agree that the bench should not be in 
> a loop on any parameters, even when "crazy" parameters are given…
> 
> However I'm not sure this is the right way to handle this issue.
> 
> The catch-up loop can be dropped and the automaton can loop over itself to 
> reschedule. Doing that as the attached fixes this issue and also makes 
> progress reporting work proprely in more cases, and reduces the number of 
> lines of code. I did not add a test case because time sensitive tests have 
> been removed (which is too bad, IMHO).

I agree with your way to fix. However, the progress reporting didn't work
because we cannot return from advanceConnectionState to threadRun and just
break the loop.

+                        /* otherwise loop over PREPARE_THROTTLE */
                         break;

I attached the fixed patch that uses return instead of break, and I confirmed
that this made the progress reporting work property.

Regards,
Yugo Nagata

-- 
Yugo NAGATA <nagata@sraoss.co.jp>

Attachment

pgsql-hackers by date:

Previous
From: "tsunakawa.takay@fujitsu.com"
Date:
Subject: RE: Transactions involving multiple postgres foreign servers, take 2
Next
From: David Rowley
Date:
Subject: Re: An out-of-date comment in nodeIndexonlyscan.c