Re: LISTEN/NOTIFY bug: VACUUM sets frozenxid past a xid in async queue

Matheus Alcantara <matheusssilv97@gmail.com>

From: "Matheus Alcantara" <matheusssilv97@gmail.com>
To: "Arseniy Mukhin" <arseniy.mukhin.dev@gmail.com>, "Masahiko Sawada" <sawada.mshk@gmail.com>
Cc: "Matheus Alcantara" <matheusssilv97@gmail.com>, Álvaro Herrera <alvherre@kurilemu.de>, "Joel Jacobson" <joel@compiler.org>, "Rishu Bagga" <rishu.postgres@gmail.com>, "Yura Sokolov" <y.sokolov@postgrespro.ru>, "Daniil Davydov" <3danissimo@gmail.com>, "Alexandra Wang" <alexandra.wang.oss@gmail.com>, "pgsql-hackers" <pgsql-hackers@postgresql.org>, "Tom Lane" <tgl@sss.pgh.pa.us>
Date: 2025-10-25T00:33:33Z
Lists: pgsql-hackers
On Fri Oct 24, 2025 at 4:36 AM -03, Arseniy Mukhin wrote:
>> I would expect to add 002_aborted_tx_notifies.pl in a separate patch
>> since it's not related to this bug fix.
>>
>> ---
>> +# Test checks that listeners do not receive notifications from aborted
>> +# transaction even if notifications have been added to the listen/notify
>> +# queue. To reproduce it we use the fact that serializable conflicts
>> +# are checked after tx adds notifications to the queue.
>>
>> I wonder if we could implement this test using the isolation test
>> instead of the tap test. Is there any reason why you used a tap test
>> for that?
>>
>
> I agree it's less relevant to the patch now than it was with the new
> 'committed' field approach. And there is no particular reason why it
> was implemented as a TAP test actually.. So +1 to move it to separate
> patch (does it mean to separate thread as well or just separate patch
> file?) and rewrite as an isolation test (IIUC it's better to use
> isolation test infrastructure if it's possible). I can try to do it if
> nobody else does it earlier.
>
On the v11 version that I've sent on [1] I've move this test into a
separate patch, please feel free to implement it as an isolation test if
you want it.

[1] https://www.postgresql.org/message-id/DDQZB2AD34V4.3RH2USCA72AS8%40gmail.com

--
Matheus Alcantara