| From: | Marko Tiikkaja <marko(at)joh(dot)to> |
|---|---|
| To: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
| Cc: | PostgreSQL mailing lists <pgsql-bugs(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Subject: | Re: BUG #14830: Missed NOTIFications, PostgreSQL 9.1.24 |
| Date: | 2017-10-10 12:39:49 |
| Message-ID: | CAL9smLAQOMNzREjJy-M8kpqGOGYdub3wD1uPb38xeHHRN=TTZA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
So I managed to accidentally kill and/or restart both servers while trying
to install debug symbols, but I'm doing a new run now and I noticed
something interesting: the listening backend's RecentXmin doesn't seem to
ever go forward. By my reading of this code, that would mean trouble for
this piece of code in TransactionIdIsInProgress:
if (TransactionIdPrecedes(xid, RecentXmin))
return false;
Is this not an obvious bug? async.c would think the transaction is not
running, and did not commit -> throw away the notification. That would
also explain why it takes days for this to happen (since we need to run
through enough xids to wrap around).
.m
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Petr Jelinek | 2017-10-10 13:25:14 | Re: 10.0: Logical replication doesn't execute BEFORE UPDATE OF <columns> trigger |
| Previous Message | Giovanni Pisante | Danysoft | 2017-10-10 11:22:56 | Re: please quote POSTGRESQL |