Re: pgbench bug candidate: negative "initial connection time"

Поиск
Список
Период
Сортировка
От Yugo NAGATA
Тема Re: pgbench bug candidate: negative "initial connection time"
Дата
Msg-id 20210617181642.e9b9d9979e6bd3b02fcb3065@sraoss.co.jp
обсуждение исходный текст
Ответ на Re: pgbench bug candidate: negative "initial connection time"  (Fabien COELHO <coelho@cri.ensmp.fr>)
Ответы Re: pgbench bug candidate: negative "initial connection time"  (Fabien COELHO <coelho@cri.ensmp.fr>)
Список pgsql-hackers
Hello Fabien,

On Thu, 17 Jun 2021 10:37:05 +0200 (CEST)
Fabien COELHO <coelho@cri.ensmp.fr> wrote:

> > ).  Is this acceptable for you?
> 
> I disagree on two counts:
> 
> First, thread[0] should not appear.
> 
> Second, currently the *only* function to change the client state is 
> advanceConnectionState, so it can be checked there and any bug is only 
> there. We had issues before when several functions where doing updates, 
> and it was a mess to understand what was going on. I really want that it 
> stays that way, so I disagree with setting the state to ABORTED from 
> threadRun. Moreover I do not see that it brings a feature, so ISTM that it 
> is not an actual issue not to do it?

Ok. I gave up to change the state in threadRun. Instead, I changed the
condition at the end of bench, which enables to report abortion due to
socket errors.

+@@ -6480,7 +6490,7 @@ main(int argc, char **argv)
+ #endif                            /* ENABLE_THREAD_SAFETY */
+ 
+         for (int j = 0; j < thread->nstate; j++)
+-            if (thread->state[j].state == CSTATE_ABORTED)
++            if (thread->state[j].state != CSTATE_FINISHED)
+                 exit_code = 2;
+ 
+         /* aggregate thread level stats */

Does this make sense?

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

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Masahiko Sawada
Дата:
Сообщение: Re: Teaching users how they can get the most out of HOT in Postgres 14
Следующее
От: Masahiko Sawada
Дата:
Сообщение: Re: Skipping logical replication transactions on subscriber side