On 29.03.21 13:02, Ajin Cherian wrote: > Nice catch, Markus. > Interesting suggestion Amit. Let me try and code this.
Thanks, Ajin. Please consider this concurrent_abort callback as well. I think it provides more flexibility for the output plugin and I would therefore prefer it over a solution that hides this. It clearly makes all potential optimizations impossible, as it means the output plugin cannot distinguish between a proper PREAPRE and a bail-out PREPARE (that does not fully replicate the PREPARE as on the origin node, either, which I think is dangerous).
I understand your concern Markus, but I will leave it to one of the committers to decide on the new callback.
For now, I've created a patch that addresses the problem reported using the existing callbacks.
Do have a look if this fixes the problem reported.