On Tue, Nov 20, 2018 at 1:42 PM John Naylor <jcnay...@gmail.com> wrote: > > I wrote: > > > On 11/19/18, Amit Kapila <amit.kapil...@gmail.com> wrote: > > [ abortive states ] > >> I think it might come from any other place between when you set it and > >> before it got cleared (like any intermediate buffer and pin related > >> API's). > > > > Okay, I will look into that. > > LockBuffer(), visibilitymap_pin(), and GetVisibilityMapPins() don't > call errors at this level. I don't immediately see any additional good > places from which to clear the local map. >
LockBuffer()->LWLockAcquire() can error out. Similarly, ReadBuffer()->ReadBufferExtended() and calls below it can error ou. To handle them, you need to add a call to clear local map in Abortransaction code path. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com