On 11/11/24 23:21, Amit Kapila wrote:
As the inversion issue can mainly hamper logical replication-based solutions we can do any of this additional work under spinlock only when the current record is a commit record (which the currently proposed patch is already doing) and "wal_level = logical" and also can have another option at the subscription level to enable this new code path. I am not sure what is best but just sharing the ideas here.
It can indeed be reduced to one extra *unlikely* if test only for commit records and only when WAL level is "logical". Without those two being true there would be zero impact on ReserveXLogInsertLocation().
It is not possible to do something on the subscription level because it affects global behavior of all backends.
Best Regards, Jan