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