Re: Last gasp - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Last gasp
Date
Msg-id CA+U5nMKhpSMzwhYiY2fhjnZmz96o4BJVWn1J9QSTzvBTg1WRiQ@mail.gmail.com
Whole thread Raw
In response to Re: Last gasp  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Last gasp
Re: Last gasp
List pgsql-hackers
On Fri, Apr 6, 2012 at 8:19 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Greg Smith <greg@2ndQuadrant.com> writes:
>> On 04/05/2012 04:27 PM, Simon Riggs wrote:
>>> It's shocking since after months of work and an especially extended
>>> edition CF, we expect people to deliver something, not just shunt the
>>> whole thing off as rejected with 1 days's notice to alter that
>>> outcome.
>
>> I don't think this is being fair to Robert.
>
> If we're going to ship a release at all, somebody's got to be willing
> to say "no".  Personally, been there, done that, got the t-shirt [1].
> Robert's just pointing out what has to be pointed out.

Just returned from a week away, so I'm chipping in on key points only.
I accept the command trigger patch is gone now and I would add
comments only about our processes.

The problem remains that we have wasted many months of development and
slipped a release on what appears to be an important, universally
popular feature that had bucket loads of early planning. We shouldn't
hide from recognising that as an issue.

I completely agree that somebody has to be willing to say No, since we
all agree that the default for any patch is non-acceptance.

My first observation is that if No is received early enough for
something to be done, then the outcome could be different. It was not
clear that this important patch was going to be totally refused and
many people have expressed their surprise about that. Noah signalled
to everybody that the FK locks patch was likely to be rejected and a
number of us have tried hard to save that, unluckily as it turns out.
So an early No helped people allocate their time on what they
considered to be important. In contrast the Command Triggers and FKs
for arrays patches received a No so late that nothing could be done.
So I fully agree that people should say No, but the key point is
*when* they say it. For the future, I think we should have a triage
week as the first week in each CF; lets shake out the No comments
early - in some cases nothing can be done and we can refocus attention
onto important topics.

Second, my point was that No should not be applied in black/white form
if at all possible. If some aspect of a patch is unworkable, it may be
possible to provide some of the functionality, rather than simply
nothing at all. That wasn't possible with FK locks, and maybe it was
possible with command triggers.

I do consider it the responsibility of a reviewer to salvage as much
as is easily and reasonably possible from each contribution. In most
cases that requires a few words from the reviewer, since many patch
contributors listen carefully to what is said and try hard to make
changes that work. Frequently I see reviewers simply making authors
dance around with various additions and tweaks; all very well if the
patch is acceptable, but its just a waste of time if there is no route
to acceptance laid out clearly by the reviewer. That's something I've
mentioned before: the reviewer *must* supply a list of things which,
if solved, would allow the patch to be accepted. Clearly there will
always be last minute issues that cause rejection.

If we can get our information transfer a little slicker we'd be able
to find more review time. Instead of spending months on their own dead
patches, people would be available to assist on those with a chance to
be saved. Our problem is not lack of resource, it is ineffective
delegation. As Hannu points out, he didn't know the patch would be
rejected, so he didn't know help was needed to save something useful.
I considered that the job of the CF manager, but perhaps it is was
not. In any case, it would seem best for the future if the CF manager
was not also a committer, since those people are clearly too busy to
do both roles as well as the project needs them to be. Just as our
processes evolved into the creation of CFs and a CF manager, we must
evolve again towards someone/team whose main task is ensuring that the
delegation problem is solved. That won't work by bossing people
around, it has to work by informing and encouraging people to
contribute in the ways that they wish.

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: Clobbered parameter names via DECLARE in PL/PgSQL
Next
From: Simon Riggs
Date:
Subject: Re: index-only scans vs. Hot Standby, round two