Commit b33e81c
committed
Make HEAP_LOCK/HEAP2_LOCK_UPDATED replay reset HEAP_XMAX_INVALID.
0ac5ad5 started to compress infomask bits in WAL records. Unfortunately
the replay routines for XLOG_HEAP_LOCK/XLOG_HEAP2_LOCK_UPDATED forgot to
reset the HEAP_XMAX_INVALID (and some other) hint bits.
Luckily that's not problematic in the majority of cases, because after a
crash/on a standby row locks aren't meaningful. Unfortunately that does
not hold true in the presence of prepared transactions. This means that
after a crash, or after promotion, row level locks held by a prepared,
but not yet committed, prepared transaction might not be enforced.
Discussion: 20160715192319.ubfuzim4zv3rqnxv@alap3.anarazel.de
Backpatch: 9.3, the oldest branch on which 0ac5ad5 is present.1 parent 649dd1b commit b33e81c
1 file changed
+4
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8393 | 8393 | | |
8394 | 8394 | | |
8395 | 8395 | | |
| 8396 | + | |
| 8397 | + | |
8396 | 8398 | | |
8397 | 8399 | | |
8398 | 8400 | | |
| |||
8443 | 8445 | | |
8444 | 8446 | | |
8445 | 8447 | | |
| 8448 | + | |
| 8449 | + | |
8446 | 8450 | | |
8447 | 8451 | | |
8448 | 8452 | | |
| |||
0 commit comments