Wait. Ack. Do we want everyone to do this? This sounds like fragmentation. :(

Russell Jurney twitter.com/rjurney


On Dec 10, 2012, at 3:24 PM, Olga Natkovich <onatkov...@yahoo.com> wrote:

> If everybody is using a private branch then
>
> (1) We are not serving a significant part of our community
> (2) There is no motivation to contribute those patches to branches (only to 
> trunk).
>
> Yahoo has been trying hard to work of the Apache branches but if we increase 
> the scope of what is going into branches, we will go with private branch 
> approach as well.
>
> Olga
>
>
> ________________________________
> From: Julien Le Dem <jul...@twitter.com>
> To: Olga Natkovich <onatkov...@yahoo.com>
> Cc: "dev@pig.apache.org" <dev@pig.apache.org>; Santhosh M S 
> <santhosh_mut...@yahoo.com>; "billgra...@gmail.com" <billgra...@gmail.com>
> Sent: Friday, December 7, 2012 3:54 PM
> Subject: Re: Our release process
>
> Here's my criteria for inclusion in a release branch:
> - no new feature. Only bug fixes.
> - The criteria is more about stability than priority. The person/group
> asking for it has a good reason for wanting it in the branch. If commiters
> think the patch is reasonable and won't make the branch unstable then we
> should check it in. If it breaks something anyway, we revert it.
>
> For what it's worth we (at Twitter) maintain an internal branch where we
> add patches we need and I would suggest anybody that wants to be able to
> make emergency fixes to their own deployment to do the same. We do keep
> that branch as close to apache as we can but it has a few patches that are
> in trunk only and do not satisfy the no new feature criteria.
>
> What does the PMC think ?
>
> Julien
>
>
>
>
> On Tue, Dec 4, 2012 at 12:46 PM, Olga Natkovich <onatkov...@yahoo.com>wrote:
>
>> I am ok with tests running nightly and reverting patches that cause
>> failures. We used to have that. Does anybody know what happened? Is anybody
>> volunteering to make it work again?
>>
>> I would like to see specific criteria for what goes into the branch been
>> published (rather than case-by-case). This way each team can decided if the
>> criteria stringent enough of if they need to run a private branch.
>>
>> Olga
>>
>>    ------------------------------
>> *From:* Santhosh M S <santhosh_mut...@yahoo.com>
>> *To:* Julien Le Dem <jul...@twitter.com>; "dev@pig.apache.org" <
>> dev@pig.apache.org>
>> *Cc:* "billgra...@gmail.com" <billgra...@gmail.com>
>> *Sent:* Friday, November 30, 2012 11:46 PM
>>
>> *Subject:* Re: Our release process
>>
>> HI Julien,
>>
>> You are making most of the points that I did on this thread (CI for e2e,
>> not burdening clean e2e prior to every commit for a release branch). The
>> only point on which there is no clear agreement is the definition of a bug
>> that can be included in a previously released branch. I am fine with a case
>> by case inclusion.
>>
>> Hi Olga,
>>
>> Are you fine with Julien's proposal as it stands - bugs that are included
>> will be determined at the time of inclusion instead of doing it now.
>>
>> Santhosh
>>
>>
>> ________________________________
>> From: Julien Le Dem <jul...@twitter.com>
>> To: dev@pig.apache.org; Santhosh M S <santhosh_mut...@yahoo.com>
>> Cc: "billgra...@gmail.com" <billgra...@gmail.com>
>> Sent: Friday, November 30, 2012 5:37 PM
>> Subject: Re: Our release process
>>
>> Proposed criteria:
>> - it makes the tests fail. targets test-commit + test + e2e tests
>> - a critical bug is reported in a short time frame (definition of
>> critical not needed as it is rare and can be decided on a case by case
>> basis)
>>
>> That raises another question: what are the existing CI servers running
>> the tests?
>> - the Apache CI runs test-commit and test (is it more stable now?)
>> and not e2e. It would be great if it did.
>> - we have a Jenkins build at Twitter where we run test-commit and
>> test, we could not run e2e easily in our environment.
>> - I understand there's a Yahoo/Hortonworks build (test-commit + test + e2e
>> ???)
>>
>> Whenever those builds fail we should open or reopen JIRAS and fix it.
>>
>> The time it takes to run the full
>> test suite makes it impractical to
>> run on a desktop/laptop.
>>
>> For the release Pig-0.11.0 we need to get this list of JIRAs down to 0
>> and publish the jar.
>>
>> https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+PIG+AND+fixVersion+%3D+%220.11%22+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC%2C+due+ASC%2C+priority+DESC
>>
>> Julien
>>
>> On Thu, Nov 29, 2012 at 11:16 PM, Santhosh M S
>> <santhosh_mut...@yahoo.com> wrote:
>>> Looks like everyone is interested in having frequent releases - I don't
>> see anyone disagreeing with that.
>>>
>>> Regarding "If a patch
>> makes the release branch unstable, we revert it" - what are the criteria?
>> If we can't decide on the criteria on this thread (already pretty long)
>> then lets get the release trains going. We can revisit the criteria for
>> inclusion of bug fixes when that happens.
>>>
>>> Santhosh
>>>
>>>
>>> ________________________________
>>>   From: Julien Le Dem <jul...@twitter.com>
>>> To: dev@pig.apache.org; Santhosh M S <santhosh_mut...@yahoo.com>
>>> Cc: "billgra...@gmail.com" <billgra...@gmail.com>
>>> Sent:
>> Thursday, November 29, 2012 9:45 AM
>>> Subject: Re: Our release process
>>>
>>> The release branch receives only bug fixes. Patch level releases (3rd
>>> version number) are issued out of the release branch and introduce
>>> only bug fixes and no new features.
>>> Deciding whether a patch is applied to the release branch is based on
>>> preserving stability (as Bill said). If a patch makes the release
>>> branch unstable, we revert it.
>>> New features are added to trunk where new major and minor releases will
>> happen.
>>> If we need a new feature out then we make a new minor release.
>>> Doing frequent releases is the industry standard and will resolve
>>> conflicts around what should go in a release branch.
>>>
>>> Making a new release is currently painful *because* we wait so long in
>>> between two releases. Let's fix that.
>>>
>>> Julien
>>>
>>> On Wed, Nov 28, 2012 at
>> 10:09 PM, Santhosh M S
>>> <santhosh_mut...@yahoo.com> wrote:
>>>> Since releasing a major version once a month is agressive and we have
>> not released on a quarterly basis, we should allow commits to a released
>> branch to facilitate dot releases.
>>>>
>>>> If we are allowing commits to a released branch, the criteria for
>> inclusion can be created anew or we use the industry standards for severity
>> (or priority). It could be painful for a few folks but I don't see better
>> alternatives.
>>>>
>>>> Regarding reverting commits based on e2e tests breaking:
>>>>          1. Who is running the tests?
>>>>          2. How often are they run?
>>>> If we have nightly e2e runs then its easier to catch these errors
>> early. If not the barrier for inclusion is pretty high and time
>> consuming making it harder to develop.
>>>>
>>>> Santhosh
>>>>
>>>>
>>>> ________________________________
>>>>   From: Bill Graham <billgra...@gmail.com>
>>>> To: dev@pig.apache.org
>>>> Sent: Wednesday, November 28, 2012 11:39 AM
>>>> Subject: Re: Our release process
>>>>
>>>> I agree releasing often is ideal, but releasing major versions once a
>> month
>>>> would be a bit agressive.
>>>>
>>>> +1 to Olga's initial definition of how Yahoo! determines what goes into
>> a
>>>> released branch. Basically is something broken without a workaround or
>> is
>>>> there potential silent data loss. Trying to get a more granular
>> definition
>>>> than that (i.e. P1, P2, severity, etc) will be
>> painful. The reality in that
>>>> case is that for whomever is blocked by the bug will consider it a P1.
>>>>
>>>> Fixes need to be relatively low-risk though to keep stability, but this
>> is
>>>> also subjective. For this I'm in favor of relying on developer and
>> reviewer
>>>> judgement to make that call and I'm +1 to Alan's proposal of rolling
>> back
>>>> patches that break the e2e tests or anything else.
>>>>
>>>> I think our policy should avoid time-based consideration on how many
>>>> quarters away are we from the next major release since that's also
>>>> impossible to quantify. Plus, if the answer to the question is that
>> we're
>>>> more than 1-2 quarters from the next release is "yes" then we should be
>>>> fixing that release problem.
>>>>
>>>>
>>>> On Wed, Nov 28, 2012 at 10:22 AM, Julien Le Dem <jul...@twitter.com>
>> wrote:
>>>>
>>>>> I would really like to see us doing frequent releases (at least once
>>>>> per quarter if not once a month).
>>>>> I think the whole notion of priority or being a "blocker" is
>> subjective.
>>>>> Releasing infrequently pressures us to push more changes than we would
>>>>> want to the release branch.
>>>>> We should focus on keeping TRUNK stable as well so that it is easier
>>>>> to release and users can do more frequent and smaller upgrades.
>>>>>
>>>>> There should be a small enough number of patches going in the release
>>>>> branch so that we can get agreement on whether we check them in or
>>>>> not.
>>>>> I like Alan's proposal of reverting quickly when there's a problem.
>>>>> Again, this becomes less of a problem if we release more
>> often.
>>>>>
>>>>> Which leads me to my next question: what are the next steps for
>>>>> releasing pig 0.11 ?
>>>>>
>>>>> Julien
>>>>>
>>>>> On Tue, Nov 27, 2012 at 10:22 PM, Santhosh M S
>>>>> <santhosh_mut...@yahoo.com> wrote:
>>>>>> Hi Olga,
>>>>>>
>>>>>> For a moment, I will move away from P1 and P2 which are related to
>>>>> priorities and use the Severity definitions.
>>>>>>
>>>>>> The standard bugzilla definitions for severity are:
>>>>>>
>>>>>> Blocker - Blocks development and/or testing work.
>>>>>> Critical - Crashes, loss of data, severe memory leak.
>>>>>> Major - Major loss of function.
>>>>>>
>>>>>> I am
>> skipping the other levels (normal, minor and trivial) for this
>>>>> discussion.
>>>>>>
>>>>>> Coming back to priorities, the proposed definitions map P1 to Blocker
>>>>> and Critical. I am proposing mapping P2 to Major even when there are
>> known
>>>>> workarounds. We are doing this since JIRA does not have severity by
>> default
>>>>> (see:
>> https://confluence.atlassian.com/pages/viewpage.action?pageId=192840
>>>>> )
>>>>>>
>>>>>> I am proposing that P2s be included in the released branch only when
>>>>> trunk or unreleased versions are known to be backward incompatible or
>> if
>>>>> the release is more than a quarter (or two) away.
>>>>>>
>>>>>> Thanks,
>>>>>> Santhosh
>>>
>>>>>> ________________________________
>>>>>>   From: Olga Natkovich <onatkov...@yahoo.com>
>>>>>> To: "dev@pig.apache.org" <dev@pig.apache.org>; Santhosh M S <
>>>>> santhosh_mut...@yahoo.com>
>>>>>> Sent: Tuesday, November 27, 2012 10:41 AM
>>>>>> Subject: Re: Our release process
>>>>>>
>>>>>> Hi Santhosh,
>>>>>>
>>>>>> What is your definition of P2s?
>>>>>>
>>>>>> Olga
>>>>>>
>>>>>>
>>>>>> ----- Original
>> Message -----
>>>>>> From: Santhosh M S <santhosh_mut...@yahoo.com>
>>>>>> To: "dev@pig.apache.org" <dev@pig.apache.org>; Olga Natkovich <
>>>>> onatkov...@yahoo.com>
>>>>>> Cc:
>>>>>> Sent: Monday, November 26, 2012 11:49 PM
>>>>>> Subject: Re: Our release process
>>>>>>
>>>>>> Hi Olga,
>>>>>>
>>>>>> I agree that we cannot guarantee backward compatibility upfront. With
>>>>> that knowledge, I am proposing a small modification to your proposal.
>>>
>>>>>> 1. If the trunk or unreleased version is known to be backwards
>>>>> compatible then only P1 issues go into the released branch.
>>>>>> 2. If the the trunk or unreleased version is known to be backwards
>>>>> incompatible or the release is a long ways off (two quarters?) then we
>>>>> should allow for dot releases on the branch, i.e., P1 and P2 issues.
>>>>>>
>>>>>> I am hoping that should provide an incentive for users to move to a
>>>>> higher release and at the same time allow developers to fix issues of
>>>>> significance without impacting stability.
>>>>>>
>>>>>> Thanks,
>>>>>> Santhosh
>>>>>>
>>>>>>
>>>>>> ________________________________
>>>>>> From: Olga Natkovich <onatkov...@yahoo.com>
>>>>>> To: "dev@pig.apache.org" <dev@pig.apache.org>
>>>>>> Sent: Monday, November 26, 2012 9:38 AM
>>>>>> Subject: Re: Our release process
>>>>>>
>>>>>> Hi Santhosh,
>>>>>>
>>>>>> I understand the compatibility issue though I am not sure we can
>>>>> guarantee it for all releases upfront but agree that we should make an
>>>>> effort.
>>>>>>
>>>>>> On the e2e tests, part of the proposal is only do make P1 type of
>>>>> changes to the branch after the initial release so they should be rare.
>>>>>>
>>>>>> Olga
>>>
>>>>>> ________________________________
>>>>>> From: Santhosh M S <santhosh_mut...@yahoo.com>
>>>>>> To: Olga Natkovich <onatkov...@yahoo.com>; "dev@pig.apache.org" <
>>>>> dev@pig.apache.org>
>>>>>> Sent: Monday, November 26, 2012 12:00 AM
>>>>>> Subject: Re: Our release process
>>>>>>
>>>>>>
>>>>>> It takes too long to run. If the e2e tests are run every night or a
>>>>> reasonable timeframe then it will reduce the barrier for submitting
>>>>> patches. The context for this:
>> the reluctance of folks to move to a higher
>>>>> version when the higher version is not backward compatible.
>>>>>>
>>>>>> Santhosh
>>>>>>
>>>>>>
>>>>>> ________________________________
>>>>>> From: Olga Natkovich <onatkov...@yahoo.com>
>>>>>> To: "dev@pig.apache.org" <dev@pig.apache.org>; Santhosh M S <
>>>>> santhosh_mut...@yahoo.com>
>>>>>> Sent: Sunday, November 25, 2012 5:56 PM
>>>>>> Subject: Re: Our release process
>>>>>>
>>>>>> Hi
>> Santhosh,
>>>>>>
>>>>>> Can you clarify why running e2e tests on every checking is a problem?
>>>>>>
>>>>>> Olga
>>>>>>
>>>>>>
>>>>>> ________________________________
>>>>>> From: Santhosh M S <santhosh_mut...@yahoo.com>
>>>>>> To: "dev@pig.apache.org" <dev@pig.apache.org>
>>>>>> Sent: Monday, November 19, 2012 3:48 PM
>>>>>> Subject: Re: Our release process
>>>>>>
>>>>>> The push for an upgrade will work only if the higher release is
>> backward
>>>>> compatible with the lower release. If not, folks will tend to use
>> private
>>>>> branches. Having a stable branch on a large deployment is a good
>> indicator
>>>>> of stability. However, please note that there have been instances where
>>>>> some releases were never adopted. I will be extremely careful in
>> applying
>>>>> the rule of
>>>>>> running e2e tests for every commit to a released branch.
>>>>>>
>>>>>> If we release every quarter (hopefully) and preserve backward
>>>>> compatibility then I am +1 to the proposal. If the backward
>> compatibility
>>>>> is not preserved then I am -1 for having to run e2e for every commit
>> to a
>>>>> released branch.
>>>>>>
>>>>>> Santhosh
>>>>>>
>>>>>>
>>>>>> ________________________________
>>>>>> From: Jonathan Coveney <jcove...@gmail.com>
>>>>>> To: "dev@pig.apache.org" <dev@pig.apache.org>
>>>>>> Sent: Tuesday, November 6, 2012 6:34 PM
>>>>>> Subject: Re: Our release process
>>>>>>
>>>>>> I think it might be good to clarify (for me) a couple of cases:
>>>>>>
>>>>>> 1. we have branched a new release
>>>>>> 2. an existing release
>>>>>>
>>>>>> The way I understand things, in the case of 1, we have
>>>>>> a backlog of patches
>>>>>> (not all of which are P1 bugs), and that's ok. If a new bad bug
>> comes in
>>>>>> (the subject of debate here), then it goes in anyway (and in some
>> cases,
>>>>>> would go into 0.9 etc).
>>>>>>
>>>>>> Olga is saying that for existing release (0.9, 0.10), we should only
>>>>> commit
>>>>>> P1 bug fixes there. This makes sense to me, as we're fixing the
>> "official
>>>>>> release" in place.
>>>>>>
>>>>>> IMHO, this would encourage people to use newer release (as this is
>> where
>>>>>> the latest and greatest stuff is, including non-critical bug fixes).
>>>>> Olga's
>>>>>> criteria is a pretty clear barrier for inclusion into these releases.
>>>>> With
>>>>>> old releases, I think the key is really that they keep doing what
>> they
>>>>> have
>>>>>> always done. Most bugs are well understood by now, and the ones that
>>>>> aren't
>>>>>> will no doubt be P1.
>>> I'm not decided (thus no formal +1 or whatnot), but Olga's point seems
>>>>>> pretty reasonable to me, especially given that trunk has pretty
>>>>>> liberal
>>>>>> development. Once it gets tidied up, I can understand not wanting to
>>>>> jostle
>>>>>> it.
>>>>>>
>>>>>>
>>>>>> 2012/11/5 Alan Gates <ga...@hortonworks.com>
>>>>>>
>>>>>>> Jonathan, for clarity, are you saying you agree that we should only
>> put
>>>>>>> bug fixes in branches or we should only put high priority bug fixes
>> in
>>>>>>> branches?  I think we all agree on the former, but there appear to
>> be
>>>>>>> different views on the latter.
>>>>>>>
>>>>>>> Alan.
>>>>
>>>>>>> On Nov 5, 2012, at 4:53 PM, Jonathan Coveney wrote:
>>>>>>>
>>>>>>>> This seems to make sense to me. People can always back-port
>> features,
>>>>> and
>>>>>>>> this encourages them to use the newer ones. It also means we will
>> be
>>>>> more
>>>>>>>> rigorous about stability, which is good as it is a big plus for
>> Pig. I
>>>>>>>> think for older branches, stability trumps features in a big way.
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> 2012/11/5 Gianmarco De Francisci Morales <g...@apache.org>
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> On Mon, Nov 5, 2012 at 10:48 AM, Olga
>> Natkovich <
>>>>> onatkov...@yahoo.com>
>>>>>>>>> wrote:
>>>>>>>>>> Hi Gianmarco,
>>>>>>>>>>
>>>>>>>>>> Thanks for your comments. Here is a little more information.
>>>>>>>>>>
>>>>>>>>>> At Yahoo, we consider the following issues to be P1:
>>>>>>>>>>
>>>>>>>>>> (1) Bugs that cause wrong results being produced silently
>>>>>>>>>> (2) Bugs that cause failures with no easy workaround
>>>>>>>>>
>>>>>>>>> Thanks Olga, now I get what you mean.
>>>>>>>>> I don't have a strong opinion on
>> this.
>>>>>>>>> On one hand I see why you don't want to put too many patches in
>> the
>>>>>>>>> branches in order to keep things stable.
>>>>>>>>> On the other hand when we do a 0.10.x release with x>0 the users
>>>>> would
>>>>>>>>> like to have as many bugs fixed as possible.
>>>>>>>>>
>>>>>>>>>> Regarding tests. I would suggest we have different rules for
>> trunk
>>>>> and
>>>>>>>>> branches:
>>>>>>>>>>
>>>>>>>>>> (1) For branches, I think we should run the full regression
>> suite
>>>>>>>>> (including e2e) prior to commit. This way we can ensure branch
>>>>> stability
>>>>>>>>> and, as number of patches should be small, will not be a burden
>>>>>
>>>>>>> (2) For trunk, we can go with test-commit only and fix things
>>>>> quickly
>>>>>>>>> when things break.
>>>>>>>>>
>>>>>>>>> I think this makes sense. +1
>>>>>>>>>
>>>>>>>>>> Olga
>>>>>>>
>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> --
>>>>>>>>> Gianmarco
>>>>
>>>>
>>>>
>>>> --
>>>> *Note that I'm no longer using my Yahoo! email address. Please email me
>> at
>>>> billgra...@gmail.com going forward.*
>>

Reply via email to