Commit a4d357b
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 45639a0 commit a4d357b
1 file changed
+4
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8687 | 8687 | | |
8688 | 8688 | | |
8689 | 8689 | | |
| 8690 | + | |
| 8691 | + | |
8690 | 8692 | | |
8691 | 8693 | | |
8692 | 8694 | | |
| |||
8737 | 8739 | | |
8738 | 8740 | | |
8739 | 8741 | | |
| 8742 | + | |
| 8743 | + | |
8740 | 8744 | | |
8741 | 8745 | | |
8742 | 8746 | | |
| |||
0 commit comments