forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit02f377d
committed
Fix corner case in cleanup of transactions using SSI.
When the only remaining active transactions are READ ONLY, we do a "partialcleanup" of committed transactions because certain types of conflictsaren't possible anymore. For committed r/w transactions, we release theSIREAD locks but keep the SERIALIZABLEXACT. However, for committed r/otransactions, we can go further and release the SERIALIZABLEXACT too. Theproblem was with the latter case: we were returning the SERIALIZABLEXACT tothe free list without removing it from the finished list.The only real change in the patch is the SHMQueueDelete line, but I alsoreworked some of the surrounding code to make it obvious that r/o and r/wtransactions are handled differently -- the existing code felt a bit tooclever.Dan Ports1 parentef007e6 commit02f377d
1 file changed
+23
-3
lines changedLines changed: 23 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3457 | 3457 |
| |
3458 | 3458 |
| |
3459 | 3459 |
| |
| 3460 | + | |
| 3461 | + | |
| 3462 | + | |
| 3463 | + | |
| 3464 | + | |
3460 | 3465 |
| |
3461 |
| - | |
3462 |
| - | |
3463 |
| - | |
| 3466 | + | |
| 3467 | + | |
| 3468 | + | |
| 3469 | + | |
| 3470 | + | |
| 3471 | + | |
| 3472 | + | |
| 3473 | + | |
| 3474 | + | |
| 3475 | + | |
| 3476 | + | |
| 3477 | + | |
| 3478 | + | |
| 3479 | + | |
| 3480 | + | |
| 3481 | + | |
| 3482 | + | |
3464 | 3483 |
| |
3465 | 3484 |
| |
3466 | 3485 |
| |
| |||
3566 | 3585 |
| |
3567 | 3586 |
| |
3568 | 3587 |
| |
| 3588 | + | |
3569 | 3589 |
| |
3570 | 3590 |
| |
3571 | 3591 |
| |
|
0 commit comments
Comments
(0)