Hi,
On 2018-04-02 23:07:17 +0800, Craig Ringer wrote:
> We then lack any mechanism by which you can NACK, saying "I can't apply
> this".
Sure, but nothing forces this mechanism to be in-band.
> So upstream will wait indefinitely. I guess we just expect the user to
> intervene and ROLLBACK if they decide a replica isn't going to get the job
> done, or have checked the replica's logs and found it can't apply it for
> some hopefully-sane reason.
>
> It's not like we'd auto-ROLLBACK PREPARED in response to a nack from a
> downstream anyway, so all we're missing is probably info in the upstream
> logs about which replica(s) cannot apply it and why.
>
> OK. So it'd be a nice-to-have, but not vital.
I'm not sure that an in-band mechanism that's the same for all potential
users is flexible enough (actually unsure, not intimating it's wrong).
It doesn't seem crazy to do these checks over a separate
connection. That'd allow more flexible error handling etc.
Greetings,
Andres Freund