Re: Regression in pipeline mode in libpq 14.5

From: Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: Regression in pipeline mode in libpq 14.5
Date: 2022-08-24 00:21:31
Message-ID: CA+mi_8a9gw1yVAMW0DmVw5uV_v4bbavs6HPUdhT3q-w5BqPkvA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, 15 Aug 2022 at 17:24, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:

> Hmm, it seems (judging only from comparing your two traces) that the
> problem stems from the newly added hack to handle CloseComplete. I'll
> have a look later in the week.

We worked around the problem in psycopg by dropping every use of
`PQsendQuery()` and only using `PQsendQueryParams()` for internal
queries too. So this is no more a blocker for our 3.1 release. I will
try to perform periodic test runs against Postgres master in order to
catch future breakages before a Postgres release.

Please find attached a smaller test to reproduce the issue. It's
written in Python and uses psycopg master branch, but it only uses
libpq calls so it can be easily converted to C or whatever is useful
to add to your test suite.

In order to run:

```
python3 -m venv venv
source venv/bin/activate
pip install "git+https://github.com/psycopg/psycopg(dot)git(at)e5079184#subdirectory=psycopg&egg=psycopg"
python test-pipeline-bug.py
```

The script will succeed running with libpq 14.4 and fail running libpq
14.5. The difference in the traces is similar to what was attached
upthread.

Best regards

-- Daniele

Attachment Content-Type Size
test-pipeline-bug.py text/x-python 1.5 KB

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Ajin Cherian 2022-08-24 01:08:48 Re: Excessive number of replication slots for 12->14 logical replication
Previous Message Полина Бунгина 2022-08-23 15:46:30 pg_rewind WAL segments deletion pitfall