On 07/16/2018 07:21 PM, Tom Lane wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> I agree. As a general statement, I think the idea of trying to
>> prevent transactions from aborting is really scary. It's almost an
>> axiom of the system that we're always allowed to abort, and I think
>> there could be a lot of unintended and difficult-to-fix consequences
>> of undermining that guarantee. I think it will be very difficult to
>> create a sound system for delaying transactions, and I doubt very much
>> that the proposed system is sound.
>
> Ugh, is this patch really dependent on such a thing?
>
Unfortunately it does :-( Without it the decoding (or output plugins)
may see catalogs broken in various ways - the catalog records may get
vacuumed, HOT chains are broken, ... There were attempts to change that
part, but that seems an order of magnitude more invasive than this.
> TBH, I think the odds of making that work are indistinguishable from zero;
> and even if you managed to commit something that did work at the instant
> you committed it, the odds that it would stay working in the face of later
> system changes are exactly zero. I would reject this idea out of hand.
>
Why? How is this significantly different from other patches touching
ProcArray and related bits?
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services