mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Revert "isolationtester: don't repeat the is-it-waiting query when retrying a step."
This mostly reverts commit 9c9782f066e0ce5424b8706df2cce147cb78170f. I left in the parts that rearranged removal of completed waiting steps; but the idea of not rechecking a step's blocked-ness isn't working.
This commit is contained in:
parent
3992188c2a
commit
dca369320f
@ -699,8 +699,7 @@ run_permutation(TestSpec *testspec, int nsteps, Step **steps)
|
||||
* have executed additional steps in the permutation.
|
||||
*
|
||||
* When calling this function on behalf of a given step for a second or later
|
||||
* time, pass the STEP_RETRY flag. In this case we don't need to recheck
|
||||
* whether it's waiting for a lock.
|
||||
* time, pass the STEP_RETRY flag. This only affects the messages printed.
|
||||
*
|
||||
* If the query returns an error, the message is saved in step->errormsg.
|
||||
* Caller should call report_error_message shortly after this, to have it
|
||||
@ -748,14 +747,6 @@ try_complete_step(Step *step, int flags)
|
||||
{
|
||||
int ntuples;
|
||||
|
||||
/*
|
||||
* If this is a retry, assume without checking that the step
|
||||
* is still blocked. This rule saves a lot of PREP_WAITING
|
||||
* queries and avoids any possible flappiness in the answer.
|
||||
*/
|
||||
if (flags & STEP_RETRY)
|
||||
return true;
|
||||
|
||||
res = PQexecPrepared(conns[0], PREP_WAITING, 1,
|
||||
&backend_pids[step->session + 1],
|
||||
NULL, NULL, 0);
|
||||
@ -770,8 +761,9 @@ try_complete_step(Step *step, int flags)
|
||||
|
||||
if (ntuples >= 1) /* waiting to acquire a lock */
|
||||
{
|
||||
printf("step %s: %s <waiting ...>\n",
|
||||
step->name, step->sql);
|
||||
if (!(flags & STEP_RETRY))
|
||||
printf("step %s: %s <waiting ...>\n",
|
||||
step->name, step->sql);
|
||||
return true;
|
||||
}
|
||||
/* else, not waiting */
|
||||
|
Loading…
x
Reference in New Issue
Block a user