On Wed, 30 Jun 2021 14:35:37 +0900 Yugo NAGATA <nag...@sraoss.co.jp> wrote:
> Hello Asif, > > On Tue, 29 Jun 2021 13:21:54 +0000 > Asif Rehman <asifr.reh...@gmail.com> wrote: > > > The following review has been posted through the commitfest application: > > make installcheck-world: tested, passed > > Implements feature: tested, passed > > Spec compliant: tested, passed > > Documentation: not tested > > > > This patch looks fine to me. master 48cb244fb9 > > > > The new status of this patch is: Ready for Committer > > Thank you for reviewing this patch! > > The previous patch included fixes about connection failures, but this part > was moved to another patch discussed in [1]. > > [1] > https://www.postgresql.org/message-id/alpine.DEB.2.22.394.2106181535400.3146194%40pseudo > > I attached the updated patach. I am sorry but I attached the other patch. Attached in this post is the latest patch. Regards, Yugo Nagata > > Regards, > Yugo Nagata > > -- > Yugo NAGATA <nag...@sraoss.co.jp> -- Yugo NAGATA <nag...@sraoss.co.jp>
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index 4aeccd93af..ad81cf1101 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -3539,8 +3539,12 @@ advanceConnectionState(TState *thread, CState *st, StatsData *agg) if (is_connect) { + pg_time_usec_t start = now; + + pg_time_now_lazy(&start); finishCon(st); - now = 0; + now = pg_time_now(); + thread->conn_duration += now - start; } if ((st->cnt >= nxacts && duration <= 0) || timer_exceeded) @@ -3564,6 +3568,7 @@ advanceConnectionState(TState *thread, CState *st, StatsData *agg) */ case CSTATE_ABORTED: case CSTATE_FINISHED: + /* per-thread last disconnection time is not measured */ finishCon(st); return; } @@ -6597,6 +6602,7 @@ threadRun(void *arg) thread_start = pg_time_now(); thread->started_time = thread_start; + thread->conn_duration = 0; last_report = thread_start; next_report = last_report + (int64) 1000000 * progress; @@ -6620,14 +6626,7 @@ threadRun(void *arg) goto done; } } - - /* compute connection delay */ - thread->conn_duration = pg_time_now() - thread->started_time; - } - else - { - /* no connection delay to record */ - thread->conn_duration = 0; + /* connection delay is measured globally between the barriers */ } /* GO */