Add docs, fix a function number.
On 1/27/26 10:34 AM, Dmitrii Bondar wrote:
> Hi, Hackers!
>
> I was testing a connection pooler with pgbench and pgbench froze. I
> checked the traffic and noticed that pgbench just blocks the execution
> while it is waiting the response to the prepare command.
>
> To reproduce the problem, it is enough to run pgbouncer with the
> session pooling mode and use more clients than the pool size. With the
> pool size of 20:
>
> pgbench -h localhost -p 6432 --client=21 --jobs=1 -S -T 1000 -P 1
> postgres --protocol=prepared
>
> Pgbench with the extended protocol flag does not have this
> issue because pgbench sends the whole parse/bind/execute/sync packet
> sequence at once and waits for the result asynchronously. I suggest
> implementing this behavior for the prepared protocol too.
>
> I attached the pgbouncer configuration to reproduce the issue and the
> proposed fix. I prefer to add a new function to libpqfe instead of
> changing the existing behavior or adding a new state to pgbench.
> Although it is largely duplicated code, it looks to be as non-invasive
> as possible. Implementation and naming need to be discussed.
>
>
> Tests for pgbench passed. I made small changes to the expected output.
>
>
> Regards,
> Dmitrii Bondar.