Re: foreign key locks, 2nd attempt
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndQuadrant.com>
To: Noah Misch <noah@leadboat.com>
Cc: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Alvaro Herrera <alvherre@commandprompt.com>, Tom Lane <tgl@sss.pgh.pa.us>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-02-28T07:55:31Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Try to avoid running with a full fsync request queue.
- 7f242d880b5b 9.1.0 cited
On Tue, Feb 28, 2012 at 12:28 AM, Noah Misch <noah@leadboat.com> wrote: > On Mon, Feb 27, 2012 at 02:13:32PM +0200, Heikki Linnakangas wrote: >> On 23.02.2012 18:01, Alvaro Herrera wrote: >>> As far as complexity, yeah, it's a lot more complex now -- no question >>> about that. >> >> How about assigning a new, real, transaction id, to represent the group >> of transaction ids. The new transaction id would be treated as a >> subtransaction of the updater, and the xids of the lockers would be >> stored in the multixact-members slru. That way the multixact structures >> wouldn't need to survive a crash; you don't care about the shared >> lockers after a crash, and the xid of the updater would be safely stored >> as is in the xmax field. >> >> That way you wouldn't need to handle multixact wraparound, because we >> already handle xid wraparound, and you wouldn't need to make multixact >> slrus crash-safe. >> >> Not sure what the performance implications would be. You would use up >> xids more quickly, which would require more frequent anti-wraparound >> vacuuming. And if we just start using real xids as the key to >> multixact-offsets slru, we would need to extend that a lot more often. >> But I feel it would probably be acceptable. > > When a key locker arrives after the updater and creates this implicit > subtransaction of the updater, how might you arrange for the xid's clog status > to eventually get updated in accordance with the updater's outcome? Somewhat off-topic, but just seen another bad case of FK lock contention. Thanks for working on this everybody. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services