Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb33e81c

Browse files
committed
Make HEAP_LOCK/HEAP2_LOCK_UPDATED replay reset HEAP_XMAX_INVALID.
0ac5ad5 started to compress infomask bits in WAL records. Unfortunatelythe replay routines for XLOG_HEAP_LOCK/XLOG_HEAP2_LOCK_UPDATED forgot toreset the HEAP_XMAX_INVALID (and some other) hint bits.Luckily that's not problematic in the majority of cases, because after acrash/on a standby row locks aren't meaningful. Unfortunately that doesnot hold true in the presence of prepared transactions. This means thatafter 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.deBackpatch: 9.3, the oldest branch on which0ac5ad5 is present.
1 parent649dd1b commitb33e81c

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

‎src/backend/access/heap/heapam.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8393,6 +8393,8 @@ heap_xlog_lock(XLogReaderState *record)
83938393

83948394
htup= (HeapTupleHeader)PageGetItem(page,lp);
83958395

8396+
htup->t_infomask &= ~(HEAP_XMAX_BITS |HEAP_MOVED);
8397+
htup->t_infomask2 &= ~HEAP_KEYS_UPDATED;
83968398
fix_infomask_from_infobits(xlrec->infobits_set,&htup->t_infomask,
83978399
&htup->t_infomask2);
83988400

@@ -8443,6 +8445,8 @@ heap_xlog_lock_updated(XLogReaderState *record)
84438445

84448446
htup= (HeapTupleHeader)PageGetItem(page,lp);
84458447

8448+
htup->t_infomask &= ~(HEAP_XMAX_BITS |HEAP_MOVED);
8449+
htup->t_infomask2 &= ~HEAP_KEYS_UPDATED;
84468450
fix_infomask_from_infobits(xlrec->infobits_set,&htup->t_infomask,
84478451
&htup->t_infomask2);
84488452
HeapTupleHeaderSetXmax(htup,xlrec->xmax);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp