• Tom Lane's avatar
    Repair potential deadlock created by recent changes to recycle btree · ffafacc1
    Tom Lane authored
    index pages: when _bt_getbuf asks the FSM for a free index page, it is
    possible (and, in some cases, even moderately likely) that the answer
    will be the same page that _bt_split is trying to split.  _bt_getbuf
    already knew that the returned page might not be free, but it wasn't
    prepared for the possibility that even trying to lock the page could
    be problematic.  Fix by doing a conditional rather than unconditional
    grab of the page lock.
    ffafacc1
bufmgr.h 5.06 KB