aboutsummaryrefslogtreecommitdiff
path: root/contrib/postgres_fdw/postgres_fdw.c
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2018-07-04 14:53:30 -0700
committerAndres Freund <andres@anarazel.de>2018-07-04 14:58:25 -0700
commit3a01f68e35a3584431ac5381c6ed75b1b39aaf2a (patch)
tree5737acf61d3bdfecd3e78d55990fb5b19ba03264 /contrib/postgres_fdw/postgres_fdw.c
parentb41669118c00e25376a6c9ac991e0d074990484a (diff)
downloadpostgresql-3a01f68e35a3584431ac5381c6ed75b1b39aaf2a.tar.gz
postgresql-3a01f68e35a3584431ac5381c6ed75b1b39aaf2a.zip
Check for interrupts inside the nbtree page deletion code.
When deleting pages the nbtree code has to walk through siblings of a tree node. When those sibling links are corrupted that can lead to endless loops - which are currently not interruptible. This is especially problematic if autovacuum is repeatedly blocked on such indexes, as it can be hard to get out of that situation without resorting to single user mode. Thus add interrupt checks to appropriate places in such loops. Unfortunately in one of the cases it's it's not easy to do so. Between 9.3 and 9.4 the page deletion (and page split) code changed significantly. Before it was significantly less robust against interruptions. Therefore don't backpatch to 9.3. Author: Andres Freund Discussion: https://postgr.es/m/20180627191629.wkunw2qbibnvlz53@alap3.anarazel.de Backpatch: 9.4-
Diffstat (limited to 'contrib/postgres_fdw/postgres_fdw.c')
0 files changed, 0 insertions, 0 deletions