Re: [HACKERS] Re: [COMMITTERS] pgsql: Remove pgbench "progress" test pending solution of its timing is (fwd)

Fabien COELHO <coelho@cri.ensmp.fr>

From: Fabien COELHO <coelho@cri.ensmp.fr>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Developers <pgsql-hackers@postgresql.org>
Date: 2018-07-18T19:56:02Z
Lists: pgsql-hackers
Hello Heikki,

>> Yep. The attached version does only the tailing stuff under -R and not all
>> threads were stopped on errors, with comments to tell about the why.
>
> Hmm. How about we just remove this special case from doCustom():
>
>>  case CSTATE_START_THROTTLE:
>>    // ...
>>    if (duration > 0 && st->txn_scheduled > end_time)
>>    {
>> 	st->state = CSTATE_FINISHED;
>> 	break;
>>    }
>
> That way, we let the client go into CSTATE_THROTTLE state, even though we 
> know that the timer will run out before we reach txn_scheduled. Then it will 
> work the way we want, right? One small difference is that then the clients 
> will keep the connections open longer, until the timer expires, but I think 
> that's reasonable. Less surprising than the current behavior, even.

Hmmm... in this instance, and if this test is removed, ISTM that it can 
start the transaction, re-establishing a connection under --connect, and 
the transaction will run to its end even if it is beyond the expected end 
of run. So removing this test does not seem desirable.

-- 
Fabien.


Commits

  1. Refactor code to print pgbench progress reports.

  2. Fix pgbench TAP test to work in VPATH builds.