Re: Snapshot synchronization, again...
Joachim Wieland <joe@mcknight.de>
From: Joachim Wieland <joe@mcknight.de>
To: Robert Haas <robertmhaas@gmail.com>
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-03-01T04:27:44Z
Lists: pgsql-hackers
On Mon, Feb 28, 2011 at 6:38 PM, Robert Haas <robertmhaas@gmail.com> wrote: >> 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. Sure we can, but it looked like the consensus of the first discussion was that the through-the-client approach was more flexible. But then again nobody is actively arguing for that anymore.