On Tue, 13 Jul 2021 13:00:49 +0900 (JST)
Tatsuo Ishii <ishii@sraoss.co.jp> wrote:
> >>> Or, we should terminate the last cycle of benchmark regardless it is
> >>> retrying or not if -T expires. This will make pgbench behaves much
> >>> more consistent.
> >
> > I would tend to agree with this behavior, that is not to start any new
> > transaction or transaction attempt once -T has expired.
That is the behavior in the latest patch. Once -T has expired, any new
transaction or retry does not start.
IIUC, Ishii-san's proposal was changing the pgbench's behavior when -T has
expired to terminate any running transactions immediately regardless retrying.
I am not sure we should do it in this patch. If we would like this change,
it would be done in another patch as an improvement of the -T option.
> > I'm a little hesitant about how to count and report such unfinished
> > because of bench timeout transactions, though. Not counting them seems
> > to be the best option.
>
> I agree.
I also agree. Although I couldn't get an answer what does he think the actual
harm for users due to termination of retrying by the -T option is, I guess it just
complained about reporting the termination of retrying as failures. Therefore,
I will fix to finish the benchmark when the time is over during retrying, that is,
change the state to CSTATE_FINISHED instead of CSTATE_ERROR in such cases.
Regards,
Yugo Nagata
--
Yugo NAGATA <nagata@sraoss.co.jp>