Thread: 9.1 Beta

9.1 Beta

From
Simon Riggs
Date:
Judging by the number of new threads about development for 9.2, I
think its time we declared 9.1 Beta. I just had a conversation with
some Debian developers about how PostgreSQL 9.0 got pulled out of
their release because we delayed by 3 weeks. So we missed our slot to
deliver useful new features to our very best supporters by 2 years. I
really hope that was deliberate.

I've never understood why we timebox useful development, yet tweaking
is allowed to go on without limit. Personally, I don't see the
rationale to allow developers some kind of priority over their input.
This tweaking period is essentially a time when insiders can put their
votes in, but nobody else can. Beta is where we get feedback from a
wider audience.

The sooner we declare Beta, the sooner people will test. Then we will
have user feedback, bugs to fix etc.. Everybody is very clearly
sitting idle. With a longer bug list we will make faster progress to
release. We're just wasting time.

If we had a hard date for feature freeze, lets have a hard date for
Beta of +2 months (next time), and +2.5 months now. (I know +1 month
was suggested, well that's just unrealistic). Beta is a great time to
resolve difficult decisions, by opening the floor to wider debate and
feedback. Delaying beta because we still have unresolved issues is
exactly backwards of what we should be doing. Let's hear from a wider
audience.

Vox populi, vox dei

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


Re: 9.1 Beta

From
Tom Lane
Date:
Simon Riggs <simon@2ndQuadrant.com> writes:
> Judging by the number of new threads about development for 9.2, I
> think its time we declared 9.1 Beta. I just had a conversation with
> some Debian developers about how PostgreSQL 9.0 got pulled out of
> their release because we delayed by 3 weeks. So we missed our slot to
> deliver useful new features to our very best supporters by 2 years. I
> really hope that was deliberate.

We do *not* make release decisions based on Debian's schedule.  Even if
we wanted to, going beta is hardly likely to affect their decisions.

The correct question is whether we're ready for beta, and I would say
the answer is clearly no, unless you have a pretty low standard for what
"ready for beta" means.  Perhaps it would be suitable to discuss what
the standard for that really ought to be; but I don't agree in the
slightest that we ought to decide based on predetermined calendar dates
rather than the state of the code.

> If we had a hard date for feature freeze, lets have a hard date for
> Beta of +2 months (next time), and +2.5 months now. (I know +1 month
> was suggested, well that's just unrealistic). Beta is a great time to
> resolve difficult decisions, by opening the floor to wider debate and
> feedback.

The reason we get wider testing during beta is that people have some
confidence (perhaps misplaced) that the database won't eat their data.
Releasing alpha-grade code and calling it beta isn't going to get us
wider testing ... at least, not more than once.
        regards, tom lane


Re: 9.1 Beta

From
Robert Haas
Date:
On Fri, Mar 25, 2011 at 6:18 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
> I've never understood why we timebox useful development, yet tweaking
> is allowed to go on without limit. Personally, I don't see the
> rationale to allow developers some kind of priority over their input.
> This tweaking period is essentially a time when insiders can put their
> votes in, but nobody else can. Beta is where we get feedback from a
> wider audience.

I think 9.0 got delayed quite a bit by the fact that we need
approximately 347 people to wrap a release, and they all had vacations
at different times over the summer.  The code was pretty stable by
July 1; I think we could easily have released in August if we had a
slightly less awkward process for getting these things out the door.

> The sooner we declare Beta, the sooner people will test. Then we will
> have user feedback, bugs to fix etc.. Everybody is very clearly
> sitting idle. With a longer bug list we will make faster progress to
> release. We're just wasting time.

I can't resist observing that if you want beta to happen sooner, it
would be better not to commit major and largely unreviewed patches
three weeks after the end of the last CommitFest.  Before you insist
that it was reviewed, the version that was actually committed bore so
little resemblance to the versions that were posted earlier that any
earlier review that was done was basically meaningless in terms of
ensuring that the final product was bug free, and it wasn't and isn't.I complained *repeatedly* about the need to get
bothcollation
 
support and sync rep finished and committed sooner, for exactly this
reason.  We are now reaping the entirely predictable fruit of having
failed to make that happen.  But for those two patches, we would
likely be in beta already, or darn close.

http://archives.postgresql.org/pgsql-hackers/2010-12/msg01257.php
http://archives.postgresql.org/pgsql-hackers/2011-01/msg01209.php
http://archives.postgresql.org/pgsql-hackers/2011-01/msg02811.php
http://archives.postgresql.org/pgsql-hackers/2011-02/msg00438.php

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: 9.1 Beta

From
Robert Haas
Date:
On Fri, Mar 25, 2011 at 8:33 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> The correct question is whether we're ready for beta, and I would say
> the answer is clearly no, unless you have a pretty low standard for what
> "ready for beta" means.  Perhaps it would be suitable to discuss what
> the standard for that really ought to be; but I don't agree in the
> slightest that we ought to decide based on predetermined calendar dates
> rather than the state of the code.

Agreed.  I think some discussion of which of the things on the open
item lists need to be done before beta might be helpful, and we ought
to add any items that are not there but are blockers.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: 9.1 Beta

From
Simon Riggs
Date:
On Sat, Mar 26, 2011 at 12:33 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> The correct question is whether we're ready for beta, and I would say
> the answer is clearly no, unless you have a pretty low standard for what
> "ready for beta" means.  Perhaps it would be suitable to discuss what
> the standard for that really ought to be; but I don't agree in the
> slightest that we ought to decide based on predetermined calendar dates
> rather than the state of the code.

OK

>> If we had a hard date for feature freeze, lets have a hard date for
>> Beta of +2 months (next time), and +2.5 months now. (I know +1 month
>> was suggested, well that's just unrealistic). Beta is a great time to
>> resolve difficult decisions, by opening the floor to wider debate and
>> feedback.
>
> The reason we get wider testing during beta is that people have some
> confidence (perhaps misplaced) that the database won't eat their data.
> Releasing alpha-grade code and calling it beta isn't going to get us
> wider testing ... at least, not more than once.

I agree that we seem to have slightly different viewpoints on what Beta means.

Your definition of Beta sounds like "safe enough to run production
systems on", but not trying to put words in your mouth.

I think if we have a clear statement of what Beta actually means it
would help us know when we've achieved it.
And it will also inform potential Beta testers of what we mean by it.

The basic point of this post was this: If we wait for the Open Items
list to drop to zero, many people are unable to contribute and that
means delay. Also, waiting for the Open Items list to drop to zero
puts the schedule in the hands of one or two individuals, which is a
bad thing.

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


Re: 9.1 Beta

From
Simon Riggs
Date:
On Sat, Mar 26, 2011 at 1:48 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Fri, Mar 25, 2011 at 6:18 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
>
>> The sooner we declare Beta, the sooner people will test. Then we will
>> have user feedback, bugs to fix etc.. Everybody is very clearly
>> sitting idle. With a longer bug list we will make faster progress to
>> release. We're just wasting time.
>
> I can't resist observing that if you want beta to happen sooner, it
> would be better not to commit major and largely unreviewed patches
> three weeks after the end of the last CommitFest.  Before you insist
> that it was reviewed, the version that was actually committed bore so
> little resemblance to the versions that were posted earlier that any
> earlier review that was done was basically meaningless in terms of
> ensuring that the final product was bug free, and it wasn't and isn't.
>  I complained *repeatedly* about the need to get both collation
> support and sync rep finished and committed sooner, for exactly this
> reason.  We are now reaping the entirely predictable fruit of having
> failed to make that happen.  But for those two patches, we would
> likely be in beta already, or darn close.
>
> http://archives.postgresql.org/pgsql-hackers/2010-12/msg01257.php
> http://archives.postgresql.org/pgsql-hackers/2011-01/msg01209.php
> http://archives.postgresql.org/pgsql-hackers/2011-01/msg02811.php
> http://archives.postgresql.org/pgsql-hackers/2011-02/msg00438.php

There are two responses to your comments.

First, you are presuming that the state of those patches must hold up
the whole release process. I don't think it should. You want to see it
finished before it goes to Beta. I want to see wider input before we
consider it finished. In your way of seeing it, you have great input
into the decision of what is finished or not. I prefer to open things
up to a wider audience, who don't normally get a say until too late.

Yes, you do send a great many very long emails and many of them are
complaints. If I had read every single word of the many you've written
we would be delayed even further. Debating minor points endlessly does
not move the world forwards it just delays it. You should trust more
that if your points are valid that they will be brought up by another
sometime soon.

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


Re: 9.1 Beta

From
Greg Stark
Date:
On Sat, Mar 26, 2011 at 9:22 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
> First, you are presuming that the state of those patches must hold up
> the whole release process. I don't think it should

There's not much point in releasing a beta with behaviour that we know
we intend to change. All it will do is elicit bug reports that we have
to respond to saying "we know, we were going to change that anyways".

I think the goal of a beta is to be able to say "we think this is the
final behaviour of the next release but we're open to feedback".

Once we release the final release we're pretty stuck with the
behaviour unless the problems are severe enough to justify changing
it. And before the beta, in the alpha releases then it's clear to
users that they're seeing work in progress and is most appropriate for
people who are already following -hackers.

-- 
greg


Re: 9.1 Beta

From
Robert Haas
Date:
On Mar 26, 2011, at 4:27 AM, Simon Riggs <simon@2ndQuadrant.com> wrote:
> The basic point of this post was this: If we wait for the Open Items
> list to drop to zero, many people are unable to contribute and that
> means delay. Also, waiting for the Open Items list to drop to zero
> puts the schedule in the hands of one or two individuals, which is a
> bad thing.

As far as I can tell, everyone is just as free to make suggestions and review patches right as now as they always are.
Infact, I do not particularly enjoy slogging through this list of open items.  I would be more than happy to have more
help.There are plenty of issues there that require real thought, and work, and I have no particular desire to be the
onethat fixes them all. 

You seem to feel that these issues are quite subjective and that the right behavior is altogether unclear. I disagree.
Thereare a few things that may fall into that category, but I think for the most part we're fixing bugs and major
usabilityproblems. 

...Robert

Re: 9.1 Beta

From
Andrew Dunstan
Date:

On 03/25/2011 06:18 PM, Simon Riggs wrote:
> Judging by the number of new threads about development for 9.2, I
> think its time we declared 9.1 Beta. I just had a conversation with
> some Debian developers about how PostgreSQL 9.0 got pulled out of
> their release because we delayed by 3 weeks. So we missed our slot to
> deliver useful new features to our very best supporters by 2 years. I
> really hope that was deliberate.
>
>

ISTR Debian on at least on occasion not including a version of Postgres 
that had been fully released quite some time before their release. We're 
always going to be missing someone's timeline, not matter what timeline 
we adopt, anyway.

So colour me unimpressed by this whole line of argument.

cheers

andrew


Re: 9.1 Beta

From
Tom Lane
Date:
Greg Stark <gsstark@mit.edu> writes:
> There's not much point in releasing a beta with behaviour that we know
> we intend to change. All it will do is elicit bug reports that we have
> to respond to saying "we know, we were going to change that anyways".

> I think the goal of a beta is to be able to say "we think this is the
> final behaviour of the next release but we're open to feedback".

Yeah, I think this is a productive way to approach the question.
I would put on a couple of extra conditions, though.  Something like
this:

* No open issues that are expected to result in user-visible
behavior changes.  (Or at least "significant" changes?  But then
we have to argue about what's significant --- for instance, are
the questions in the nearby collations-issues thread significant
enough to be beta blockers?)

* No open issues that are expected to result in a catversion bump.
(With pg_upgrade, this is not as critical as it used to be, but
I still think catalog stability is a good indicator of a release's
maturity)

* No known data-loss-causing bugs (duh)

Comments?  Any other quality criteria we should have for beta?
        regards, tom lane


Re: 9.1 Beta

From
Simon Riggs
Date:
On Sat, Mar 26, 2011 at 3:46 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Greg Stark <gsstark@mit.edu> writes:
>> There's not much point in releasing a beta with behaviour that we know
>> we intend to change. All it will do is elicit bug reports that we have
>> to respond to saying "we know, we were going to change that anyways".
>
>> I think the goal of a beta is to be able to say "we think this is the
>> final behaviour of the next release but we're open to feedback".
>
> Yeah, I think this is a productive way to approach the question.
> I would put on a couple of extra conditions, though.  Something like
> this:
>
> * No open issues that are expected to result in user-visible
> behavior changes.  (Or at least "significant" changes?  But then
> we have to argue about what's significant --- for instance, are
> the questions in the nearby collations-issues thread significant
> enough to be beta blockers?)
>
> * No open issues that are expected to result in a catversion bump.
> (With pg_upgrade, this is not as critical as it used to be, but
> I still think catalog stability is a good indicator of a release's
> maturity)
>
> * No known data-loss-causing bugs (duh)
>
> Comments?  Any other quality criteria we should have for beta?

Last 2 are pretty clear.

The first one is debatable because of the word "expected". Who decides that?

I want more feedback into the project. That can obviously result in
changes that are user visible. Users don't complain about non-user
visible things.

I'd state it the other way around: No open issues that are expected to
result in non-user visible architecture changes.

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


Re: 9.1 Beta

From
Robert Haas
Date:
On Sat, Mar 26, 2011 at 11:46 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Greg Stark <gsstark@mit.edu> writes:
>> There's not much point in releasing a beta with behaviour that we know
>> we intend to change. All it will do is elicit bug reports that we have
>> to respond to saying "we know, we were going to change that anyways".
>
>> I think the goal of a beta is to be able to say "we think this is the
>> final behaviour of the next release but we're open to feedback".
>
> Yeah, I think this is a productive way to approach the question.
> I would put on a couple of extra conditions, though.  Something like
> this:
>
> * No open issues that are expected to result in user-visible
> behavior changes.  (Or at least "significant" changes?  But then
> we have to argue about what's significant --- for instance, are
> the questions in the nearby collations-issues thread significant
> enough to be beta blockers?)
>
> * No open issues that are expected to result in a catversion bump.
> (With pg_upgrade, this is not as critical as it used to be, but
> I still think catalog stability is a good indicator of a release's
> maturity)
>
> * No known data-loss-causing bugs (duh)
>
> Comments?  Any other quality criteria we should have for beta?

I think all of these things are pretty subjective, but I broadly agree
with the way you've set it out here.  Simon is right that it's
sometimes reasonable to ship the code as it is and see what feedback
we get.  But there's a countervailing effect, too: once we ship the
code, then people get used to the way it works, and people don't want
to change it, even if it's not what they would have picked initially.
Magnus mentioned that he was going to upgrade some machine somewhere
to alpha5 once it was out.  When my jaw fell off he assured me it
wasn't a critical system, but still: some people upgrade very early,
and once we declare beta, they're going to expect that we aren't going
to change too much.  And even if they had no such expectation, we
don't WANT to change too much, because then we've got to allow more
time for beta-testing of the new stuff.  It's much easier and much
less work to get it right the first time.

All that having been said, I think this whole thing may be a tempest
in a teapot.  Regardless of what the exact criteria are for beta, I
think we're getting reasonably close to meeting them.  Shaking out the
bugs in the collation stuff has taken longer than you originally
predicted, but it seems like we're homing in on it; and sync rep has
gone from a long list of open items (most of which were reported by
Fujii Masao, whose efforts I at least very much appreciate) to a much
shorter one.  A couple of the other issues are in fact longstanding
bugs rather than new regressions in 9.1, and therefore can't be viewed
as beta blockers.  I see no reason we can't finish the remaining items
in the next couple of weeks, barring a sudden influx of new bug
reports - especially if a few more people pitch in and help move
things forward.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company