Re: [HACKERS] WIP Patch: Pgbench Serialization and deadlock errors

From: Marina Polyakova <m(dot)polyakova(at)postgrespro(dot)ru>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>, pgsql-hackers(at)postgresql(dot)org, Ildus Kurbangaliev <i(dot)kurbangaliev(at)postgrespro(dot)ru>, Teodor Sigaev <teodor(at)sigaev(dot)ru>
Subject: Re: [HACKERS] WIP Patch: Pgbench Serialization and deadlock errors
Date: 2018-07-12 08:28:34
Message-ID: d63e60a8b741ea57e72b29c9efb2e2ca@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 11-07-2018 20:49, Alvaro Herrera wrote:
> On 2018-Jul-11, Marina Polyakova wrote:
>
>> can we try something like this?
>>
>> PGBENCH_ERROR_START(DEBUG_FAIL)
>> {
>> PGBENCH_ERROR("client %d repeats the failed transaction (try %d",
>> st->id, st->retries + 1);
>> if (max_tries)
>> PGBENCH_ERROR("/%d", max_tries);
>> if (latency_limit)
>> {
>> PGBENCH_ERROR(", %.3f%% of the maximum time of tries was used",
>> getLatencyUsed(st, &now));
>> }
>> PGBENCH_ERROR(")\n");
>> }
>> PGBENCH_ERROR_END();
>
> I didn't quite understand what these PGBENCH_ERROR() functions/macros
> are supposed to do. Care to explain?

It is used only to print a string with the given arguments to stderr.
Probably it might be just the function pgbench_error and not a macro..

P.S. This is my mistake, I did not think that PGBENCH_ERROR_END does not
know the elevel for calling exit(1) if the elevel >= ERROR.

--
Marina Polyakova
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2018-07-12 08:44:48 Re: Problem on pg_dump RANGE partition with expressions
Previous Message Heikki Linnakangas 2018-07-12 08:26:30 Re: Negotiating the SCRAM channel binding type