This is all really key to be honest.  The only feature we need to develop today 
is quality, and this is true regardless of 4.0.0.  I've seen a lot of talk from 
some quarters of a new approach to quality, but so far there have been few 
contributions from the same quarters that materially contribute to it.  With a 
shift to discussing new feature development, it begins to look a bit empty. 

Put some of that excitement for developing new features into developing new 
approaches to assuring quality.  I would love to see some CEP on this topic, 
and I would consider it a worthwhile distraction to participate in those 
discussions.




On 26/06/2020, 23:45, "David Capwell" <dcapw...@gmail.com> wrote:

    >
    > 1) changes going into beta should be small enough that a fast-forward 
merge
    >
    should be available in the majority of cases up to trunk. We've done this
    > with previous releases and it wasn't prohibitively expensive in terms of
    > time. Further, I would posit that changes going into beta should be on the
    > smaller side, further mitigating the burden of this process.


    I don't have much experience here, but what I find is that a decent chunk
    of the fixes I have been posting have to be rewritten for 2.2 (mostly CI),
    3.0, 3.11, and trunk.  This is currently already painful and makes me less
    likely to want to fix things... If we branch 4.0 and people start
    refactoring trunk, then there is even more burden to fix issues; I don't
    see this as a small issue today.


    2) We've been feature frozen since late 2018 with the expressed intention
    > to encourage work on testing and stabilizing 4.0. I am not aware of any
    > contributors whose time and energy has been invested in testing 4.0 that
    > would otherwise have gone to trunk (i.e. this approach achieving its
    > desired outcomes), however I do know of several major contributors and
    > contributions that have atrophied and been deterred from further work on
    > the project due to waiting for 4.0 to release.


    When I joined this project I heard that Repair was a pinpoint for many, so
    the first thing I did was look into why and started trying to fix bugs with
    Repair.  In doing this I found that the testing of repair is lacking and
    that small regressions would not be caught by the current tests, so shifted
    my focus to improving the testing rather than make the large changes I
    wanted to make; my reasoning was simple, "if I can not rely on the existing
    tests to show I didn't break anything, by fixing 1 problem I may break 10
    others".


    I was then later pulled off this into 3.x issues as many still struggle
    upgrading from 2.1 to 3.x.  I am currently weighted down by features which
    are broken in 3.x (so have to rewrite them to be able to migrate), and a
    constant stream of new data corruption bugs (I currently have 5 on my
    plate).  As I resolve the issues I see the common trend is "we lacked
    testing in X".


    Given the amount of data loss and corruption bugs that keep popping up, I
    do feel it's reasonable to ask people to focus on testing rather than new
    features.  If we don't have a strong foundation we believe in, how do we
    build a strong house on top?


    I take the position that we should do everything
    > reasonably possible to encourage a diversity of contributions to the
    > project. I deeply believe that making deliberate decisions to prioritize
    > new engagement and interaction on the project as the context in which it's
    > used evolves is vital to the project's health long term.


    I fully agree with this, which is why I feel the feature freeze is in the
    best interest of the project and that we should be focusing on testing.  The
    hardest thing I have found is that adding a new feature is that there is an
    unreasonable expectation of what you have to learn, their interactions, and
    the ability to test their impact.  Even simple things become hard given the
    fact only committers can run Jenkins tests, or you pay money to be able to
    run the tests...  If the intent is to make it easier for new people to
    contribute to the project, shouldn't the focus be on fixing their pain
    points such as testing?

    On Fri, Jun 26, 2020 at 3:38 PM Jordan West <jorda...@gmail.com> wrote:

    > On Fri, Jun 26, 2020 at 2:58 PM Benedict Elliott Smith <
    > bened...@apache.org>
    > wrote:
    >
    > > > Nothing is stopping us for discussing CEPs now, and nothing prevents
    > > folks from making their own feature branches.
    > >
    > > I disagree.  CEPs are just as - if not more - of a distraction than
    > > branching.
    > >
    >
    > > Work doesn't happen in a vacuum.  Those who are today focusing what
    > > resources they can on shipping 4.0.0 will have to divert resources to 
the
    > > new CEP and feature development happening on the project.  It is
    > > unrealistic to expect otherwise.
    > >
    > > We can have a swifter 4.0.0 release, or we can begin earnestly 
developing
    > > new features, but we cannot have both.
    > >
    > >
    > Agreed 100% and I would prefer to see us all focus on getting 4.0.0 out. I
    > only meant we never explicitly voted to prevent CEPs from being submitted
    > at this time and it was more in response to a comment in the initial email
    > in this thread.
    >
    >
    > >
    > > On 26/06/2020, 22:09, "Jon Haddad" <j...@jonhaddad.com> wrote:
    > >
    > >     We currently have 2.1, 2.2, 3.0 3.11, and trunk.  With a new branch
    > > we'll
    > >     _also_ have whatever is next, let's call it 5.0.
    > >
    > >     Nothing is stopping us for discussing CEPs now, and nothing prevents
    > > folks
    > >     from making their own feature branches.
    > >
    > >     If we're going to add another branch (4.0) and let people merge to
    > > trunk,
    > >     we're making an *active* decision to push the 4.0 release out even
    > > further,
    > >     because the folks working on it will have to learn the new code when
    > > they
    > >     merge forward.
    > >
    > >     I'm -1 on branching before we release 4.0.
    > >
    > >     On Fri, Jun 26, 2020 at 2:04 PM Mick Semb Wever <m...@apache.org>
    > > wrote:
    > >
    > >     > >
    > >     > > > Branching anytime before we 4.0.0 adds extra burden to the
    > folks
    > > trying
    > >     > > to
    > >     > > > get 4.0.0 out the door (because of merge up)
    > >     > >
    > >     > > Given both that we've done this with every major release in the
    > > past, as
    > >     > > well as the type of work we'd expect to land during the beta
    > phase
    > >     > > (smaller, non-api breaking, defect fixing or smaller performance
    > >     > tuning), I
    > >     > > didn't personally originally weigh this as being as much of a
    > > burden as
    > >     > you
    > >     > > perceive it to be.
    > >     >
    > >     >
    > >     >
    > >     > Looking at this a different way, you might say we have previously
    > > cut the
    > >     > release branch somewhere around beta. Because previous releases
    > > haven't
    > >     > (all) had so much focus on testing and alphas. My impression is
    > that
    > > 4.0.0
    > >     > will be closer compared to a second or third patch of previous
    > major
    > >     > releases.
    > >     >
    > >     > So I would have thought it makes sense around beta or RC to 
branch,
    > >     > especially RC because between RC and GA it is more about a cooling
    > > period,
    > >     > public acceptance and testing. That RC to GA window should be 
quiet
    > > enough
    > >     > that it makes sense to branch then, and kick off the CEP
    > discussions.
    > >     >
    > >     > I don't think the forward merging really is so much of a problem,
    > > it's a
    > >     > normal activity in the C* codebase, and the additional
    > merge-forward
    > > window
    > >     > between either beta or RC, to GA is short.
    > >     >
    > >     > Thanks Ekaterina and Benjamin and Josh for raising the discussion.
    > >     >
    > >
    > >
    > >
    > > ---------------------------------------------------------------------
    > > To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
    > > For additional commands, e-mail: dev-h...@cassandra.apache.org
    > >
    > >
    >



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org

Reply via email to