On 2013-11-18 11:39:44 -0500, Bruce Momjian wrote:
> On Mon, Nov 18, 2013 at 09:22:58PM +1300, David Rowley wrote:
> > So now I'm wondering what the next move should be for this patch?
> > a. Are we waiting on Robert's patch to be committed before we can apply
> > Thomas's
> > cluster with freeze as default?
> > b. Are we waiting on me reviewing one or both of the patches? Which one?
> > I think probably it sounds safer not to make freeze the default, but then
> > if we
> > release 9.4 with CLUSTER FREEZE then in 9.5/10 decide it should be the
> > default
> > then we then have a redundant syntax to support for ever and ever.
> > Decision time?
> Yes, we probably should make a decision, unless Robert's idea can be
> implemented. We have to balance the ease of debugging MVCC failures
> with the interface we give to the user community.
Imo that patch really doesn't need too much further work.
> From my perspective, I don't see how we can justify the addition of a
> FREEZE option to CLUSTER. If we explain that you would always use
> FREEZE unless you want to preserve MVCC information for later debugging,
> users will reply with "Huh, why would I want that?"
I tend to agree that we should work towards not needing that option.
> Many MVCC failures are reproducible, so if we provide a C define that
> disables the freezing so MVCC information can be preserved, that might
> be good enough. Developers could enable the macro, and the macro could
> be used in other places where MVCC information is lost.
> This will make some MVCC harder, and will perhaps allow some MVCC bugs
> to exist longer.
> I believe there are other cases where rows could be frozen but we have
> avoided it for MVCC debugging reasons. Another idea would be the
> addition of a GUC that can disable optimistic freezing. This could be
> enabled by sites that suspect MVCC bugs.
I think that'd be an enormous failure. You don't usually need to look at
those because there's a bug in postgres' mvcc logic but somewhere
else (application, other postgres code). And looking at the mvcc
information helps you to narrow it down, so you have a chance of
actually finding a reproducible bug.
Besides, in many of the !rewrite cases it's far from clear in which
cases it's a benefit to freeze earlier.
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
Sent via pgsql-hackers mailing list (firstname.lastname@example.org)
To make changes to your subscription: