aboutsummaryrefslogtreecommitdiff
path: root/src/backend/regex/regexport.c
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2019-02-02 15:47:00 +0530
committerAmit Kapila <akapila@postgresql.org>2019-02-02 15:47:00 +0530
commit0b8bdb3c3ec092f18813d5b6fc738d7ec450289b (patch)
tree5a02375454059ffe82c48659dfe9b71e90b14ae6 /src/backend/regex/regexport.c
parent3e938a83b2ee3b47d47cdbdf58df09946877d4fd (diff)
downloadpostgresql-0b8bdb3c3ec092f18813d5b6fc738d7ec450289b.tar.gz
postgresql-0b8bdb3c3ec092f18813d5b6fc738d7ec450289b.zip
Avoid possible deadlock while locking multiple heap pages.
To avoid deadlock, backend acquires a lock on heap pages in block number order. In certain cases, lock on heap pages is dropped and reacquired. In this case, the locks are dropped for reading in corresponding VM page/s. The issue is we re-acquire locks in bufferId order whereas the intention was to acquire in blockid order. This commit ensures that we will always acquire locks on heap pages in blockid order. Reported-by: Nishant Fnu Author: Nishant Fnu Reviewed-by: Amit Kapila and Robert Haas Backpatch-through: 9.4 Discussion: https://postgr.es/m/5883C831-2ED1-47C8-BFAC-2D5BAE5A8CAE@amazon.com
Diffstat (limited to 'src/backend/regex/regexport.c')
0 files changed, 0 insertions, 0 deletions