Re: LISTEN/NOTIFY bug: VACUUM sets frozenxid past a xid in async queue
От | Matheus Alcantara |
---|---|
Тема | Re: LISTEN/NOTIFY bug: VACUUM sets frozenxid past a xid in async queue |
Дата | |
Msg-id | DC8HKDZVIDYG.12H0X267CHMO5@gmail.com обсуждение исходный текст |
Ответ на | Re: LISTEN/NOTIFY bug: VACUUM sets frozenxid past a xid in async queue (Masahiko Sawada <sawada.mshk@gmail.com>) |
Список | pgsql-hackers |
On Thu Aug 21, 2025 at 7:25 PM -03, Masahiko Sawada wrote: > What about backend processes that don't have any xid or xmin (i.e., > are read-only query and in idle-in-transaction)? > > IIUC we process the notification entries at the beginning of the > server loop (see L4608 in postgres.c) and when reading a command (via > ProcessClientReadInterrupt()), but it seems to me that if a process is > in idle-in-transaction state it doesn't process the entries unless the > transaction is committed. I've reproduced the missing clog entry error > even if we have a notification on the queue with a valid listener, > with the following steps: > Ok, now we can reproduce this, thank you! So I think that we need a way to teach the VACUUM FREEZE about old xid's on async queue. I'll work on this considering the initial Daniil comments at [1] [1] https://www.postgresql.org/message-id/CAJDiXgg1ArRB1-6wLtXfVVnQ38P9Y%2BCDfEc9M2TXiOf_4kfBMg%40mail.gmail.com -- Matheus Alcantara
В списке pgsql-hackers по дате отправления: