Re: BUG #14830: Missed NOTIFications, PostgreSQL 9.1.24

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Marko Tiikkaja <marko@joh.to>, Michael Paquier <michael.paquier@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@postgresql.org>
Date: 2017-10-10T14:19:48Z
Lists: pgsql-bugs
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> Tom Lane wrote:
>> Hmm ... I suppose it's possible that that happens if the listening
>> backend isn't executing any SQL commands but is just sitting.
>> While that might describe your test harness, does it describe any
>> real-world application?

> I think it's not totally unreasonable to have processes sitting idle for
> long periods of time.

Sure, but if they're truly idle, they aren't looking at RecentXmin ;-)

> Would they not recompute RecentXmin if they did a
> sinval reset?

Not sure, but if not, maybe making that code path update it would be
a suitable fix in practice?  I'm a bit hesitant to put a GetSnapshotData
call into ProcessIncomingNotify, because of the possibility of adding a
lot of contention on the ProcArray if there's very heavy notify traffic.

			regards, tom lane


Commits

  1. Fix low-probability loss of NOTIFY messages due to XID wraparound.