| From: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> |
|---|---|
| To: | PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>, Kevin Grittner <kgrittn(at)ymail(dot)com> |
| Subject: | SSI freezing bug |
| Date: | 2013-09-20 10:55:36 |
| Message-ID: | 523C29A8.20904@vmware.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
Prompted by Andres Freund's comments on my Freezing without Write I/O
patch, I realized that there's there's an existing bug in the way
predicate locking handles freezing (or rather, it doesn't handle it).
When a tuple is predicate-locked, the key of the lock is ctid+xmin.
However, when a tuple is frozen, its xmin is changed to FrozenXid. That
effectively invalidates any predicate lock on the tuple, as checking for
a lock on the same tuple later won't find it as the xmin is different.
Attached is an isolationtester spec to demonstrate this.
- Heikki
| Attachment | Content-Type | Size |
|---|---|---|
| freezetest.spec | text/x-rpm-spec | 1.3 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2013-09-20 11:44:45 | Re: dynamic shared memory |
| Previous Message | Andres Freund | 2013-09-20 10:33:47 | Re: logical changeset generation v6 |