Bharath, I could not find any issue in my basic testing, although I
would like to understand this part a bit better:
+ if (isCommit)
+ {
+ acquiredInSubId = parentSubid;
+ return;
+ }
How can we reach this block? In a non-error scenario, it seems that by
the time AtEOSubXact_ReplicationSlot() is invoked, the slot has
already been released, and we return earlier from 'if (acquiredInSubId
!= mySubid)' block. I could not find a case where:
a) the slot is acquired in the current subtransaction, b) the
subtransaction commits (isCommit == true), and c) the slot is still
held when AtEOSubXact_ReplicationSlot() is invoked.
Could you please explain what I am missing?
thanks
Shveta