- Notifications
You must be signed in to change notification settings - Fork5
Commit07aeb1f
committed
Avoid resetting Xmax when it's a multi with an aborted update
HeapTupleSatisfiesUpdate can very easily "forget" tuple locks whilechecking the contents of a multixact and finding it contains an abortedupdate, by setting the HEAP_XMAX_INVALID bit. This would lead toconcurrent transactions not noticing any previous locks held bytransactions that might still be running, and thus being able to acquiresubsequent locks they wouldn't be normally able to acquire.This bug was introduced in commit1ce150b; backpatch this fix to 9.3,like that commit.This change reverts the change to the delete-abort-savept isolation testin1ce150b, because that behavior change was caused by this bug.Noticed by Andres Freund while investigating a different issue reportedby Noah Misch.1 parent86ef479 commit07aeb1f
File tree
2 files changed
+22
-12
lines changed- src
- backend/utils/time
- test/isolation/expected
2 files changed
+22
-12
lines changedLines changed: 17 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
596 | 596 |
| |
597 | 597 |
| |
598 | 598 |
| |
599 |
| - | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
600 | 604 |
| |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
601 | 610 |
| |
602 | 611 |
| |
603 |
| - | |
604 |
| - | |
605 |
| - | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
606 | 619 |
| |
607 | 620 |
| |
608 | 621 |
| |
|
Lines changed: 5 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
23 | 23 |
| |
24 | 24 |
| |
25 | 25 |
| |
26 |
| - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
27 | 29 |
| |
28 | 30 |
| |
29 | 31 |
| |
30 |
| - | |
31 | 32 |
| |
32 | 33 |
| |
33 | 34 |
| |
| |||
38 | 39 |
| |
39 | 40 |
| |
40 | 41 |
| |
41 |
| - | |
42 |
| - | |
43 |
| - | |
44 |
| - | |
45 |
| - | |
46 |
| - | |
| 42 | + | |
| 43 | + | |
47 | 44 |
| |
48 | 45 |
| |
49 | 46 |
| |
|
0 commit comments
Comments
(0)