Re: Snapshot synchronization, again...
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Joachim Wieland <joe@mcknight.de>
Cc: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Alvaro Herrera <alvherre@commandprompt.com>, Noah Misch <noah@leadboat.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-02-28T17:38:21Z
Lists: pgsql-hackers
On Sun, Feb 27, 2011 at 8:33 PM, Joachim Wieland <joe@mcknight.de> wrote: > On Sun, Feb 27, 2011 at 3:04 PM, Heikki Linnakangas > <heikki.linnakangas@enterprisedb.com> wrote: >>> Why exactly, Heikki do you think the hash is more troublesome? >> It just feels wrong to rely on cryptography just to save some shared memory. > > Remember that it's not only about saving shared memory, it's also > about making sure that the snapshot reflects a state of the database > that has actually existed at some point in the past. Furthermore, we > can easily invalidate a snapshot that we have published earlier by > deleting its checksum in shared memory as soon as the original > transaction commits/aborts. And for these two a checksum seems to be a > good fit. Saving memory then comes as a benefit and makes all those > happy who don't want to argue about how many slots to reserve in > shared memory or don't want to have another GUC for what will probably > be a low-usage feature. But you can do all of this with files too, can't you? Just remove or truncate the file when the snapshot is no longer valid. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company