agora inbox for pgsql-bugs@postgresql.org
help / color / mirror / Atom feedFrom: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: tyler@smarts.io
Subject: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming
Date: Tue, 11 Aug 2026 22:58:04 +0000
Message-ID: <19616-f6153af509910853@postgresql.org> (raw)
The following bug has been logged on the website:
Bug reference: 19616
Logged by: Tyler Smart
Email address: tyler@smarts.io
PostgreSQL version: 18.4
Operating system: Linux (Docker; also Google Cloud SQL)
Description:
Since PostgreSQL 18, pgoutput can send a Stream Abort ('A') message to a
client that connected with proto_version 1 and never enabled streaming.
Protocol 1 clients do not implement the stream message set, so consumers
fail on it: Debezium (and tools that embed it, like Airbyte) dies with
"Unsupported message type: A", and because the crash repeats at the same WAL
position on every restart, the slot stops advancing until
max_slot_wal_keep_size invalidates it.
I reproduced this on 18.4 (Debian 18.4-1.pgdg13+1, official Docker image)
and on Cloud SQL 18.1. The identical script does not reproduce it on 17.10.
The trigger needs three conditions in one decode run:
1. logical_decoding_work_mem is exceeded, so eviction runs.
2. The eviction candidate has already aborted in clog.
3. That transaction has a subtransaction with changes still in memory.
view thread (15+ messages) latest in thread
Message-ID: <19616-f6153af509910853@postgresql.org>
Permalink: ../19616-f6153af509910853@postgresql.org/
Also on: postgresql.org/message-id/19616-f6153af509910853@postgresql.org
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: noreply@postgresql.org, pgsql-bugs@lists.postgresql.org, tyler@smarts.io
Subject: Re: BUG #19616: pgoutput sends stream abort ('A') to clients that did not enable streaming
In-Reply-To: <19616-f6153af509910853@postgresql.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox