• Tom Lane's avatar
    Avoid deadlocks during insertion into SP-GiST indexes. · e472b921
    Tom Lane authored
    SP-GiST's original scheme for avoiding deadlocks during concurrent index
    insertions doesn't work, as per report from Hailong Li, and there isn't any
    evident way to make it work completely.  We could possibly lock individual
    inner tuples instead of their whole pages, but preliminary experimentation
    suggests that the performance penalty would be huge.  Instead, if we fail
    to get a buffer lock while descending the tree, just restart the tree
    descent altogether.  We keep the old tuple positioning rules, though, in
    hopes of reducing the number of cases where this can happen.
    
    Teodor Sigaev, somewhat edited by Tom Lane
    e472b921
spgdoinsert.c 63.4 KB