Re: PostgreSQL Developer meeting minutes up

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Markus Wanner <markus(at)bluegap(dot)ch>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>, Marko Kreen <markokr(at)gmail(dot)com>, Greg Stark <stark(at)enterprisedb(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Aidan Van Dyk <aidan(at)highrise(dot)ca>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Magnus Hagander <magnus(at)hagander(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PostgreSQL Developer meeting minutes up
Date: 2009-06-06 16:56:24
Message-ID: 4A2A9FB8.4050405@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Markus Wanner wrote:
> Hi,
>
> Andrew Dunstan wrote:
>
>> Yeah, a requirement to work from the back branch forward is quite
>> unacceptable IMNSHO. It's also quite unreasonable.
>>
>
> The monotone page about daggy fixes does quite a good job in explaining
> why it is helpful. I think it's how to make best use of these tools. And
> it's obviously not the same as what worked well in practice with CVS.
> Out of interest, and not necessarily related to Postgres: why do you
> think it's unreasonable? Fixing the problem where it was introduced
> sounds like the most reasonable place to fix it, IMO.
>
>
>

Half the trouble with this discussion is that it has not been related
enough to how the Postgres project actually works IMNSHO.

One fact to keep in mind is that, unlike most other FOSS projects, we
keep quite a large number of branches live. If we don't remove one (and
so far there is no great reason to that I know of) that number will be
seven when we release 8.4. There is a huge benefit from this to the user
community. It means that they can deploy Postgres with confidence that
they will not have to upgrade for quite a few years. In the corporate
world, especially, that is a major issue. I occasionally have clients
running 7.4 or even older versions. Anyway, the large number of branches
alone means that our patterns are unlikely to match those of other
projects.

The question we often face in backpatching is not "where did it first
occur?" but "how far back should we patch it?". Problems are almost
always discovered near the top of the version list, overwhelmingly on
the HEAD or most recent stable branches. So the way we work is not to
try to develop a fix where the problem first occurred (which might not
even be on a supported branch at all) but as high up the list as the
problem goes (usually HEAD) and then work out how far down the list to
apply the fix. And the notion that a fix of any complexity at all is
going to be simply applicable across six or seven branches simply defies
our experience. It almost never does. Frequently it won't apply cleanly
from *any* one branch to another. Even fairly trivial patches can suffer
from this: the pretty small plperl fixes I applied yesterday and the day
before, required adjustment going from one branch to the previous one in
about three out of five back branch cases. Sometimes these adjustments
are small, sometimes they are quite large. So the idea that we can just
create a fix on say, the 7.4 branch, and then just merge it forward
nicely, is just fanciful in most cases, as well as being contrary to our
methods of work.

Most of this stuff is almost invisible to most of the community. But
people like Tom work with it every day. And we want to keep Tom
productive, right? ;-)

cheers

andrew

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-06-06 17:22:36 Re: PostgreSQL Developer meeting minutes up
Previous Message Tom Lane 2009-06-06 16:42:01 Re: PostgreSQL Developer meeting minutes up