From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Noah Misch <noah(at)leadboat(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Suspicious behaviour on applying XLOG_HEAP2_VISIBLE. |
Date: | 2016-04-14 16:11:01 |
Message-ID: | 20160414161101.hhggtbtmfznm77pf@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2016-04-14 11:50:58 -0400, Robert Haas wrote:
> On Wed, Apr 13, 2016 at 9:58 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> > We've recently discussed a very similar issue around
> > http://www.postgresql.org/message-id/20160227002958.peftvmcx4dxwe244@alap3.anarazel.de
> >
> > Unfortunately Simon over in that thread disagreed there about fixing
> > this by always emitting a commit record when nmsgs > 0 in
> > RecordTransactionCommit(). I think this thread is a pretty strong hint
> > that we actually should do so.
>
> Yes. I'm pretty confident that you had the right idea there, and that
> Simon's objection was off-base.
The easiest way to achieve that seems to be to just assign an xid if
that's the case; while it's not necessarily safe/efficient to do so at
the point the invalidation message was queued, I think it should be safe
to do so at commit time. Seems less invasive to backpatch than to either
support commit records without xids, or a separate record just
transporting invalidation messages.
Although a separate record with invalidations is going to be needed to
support logical decoding of running xacts anyway...
- Andres
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2016-04-14 16:28:43 | Broken API specification for walrcv_receive |
Previous Message | Tom Lane | 2016-04-14 15:58:09 | Re: \crosstabview fixes |