On Mon, Jul 20, 2020 at 1:20 PM Kenneth Knowles <[email protected]> wrote:

> Agree. Great management of this release discussion.
>
> While I think Robert laid out the reasons for avoiding cherry picks very
> clearly, I just want to emphasize that it is *not* appropriate to treat
> every cherry pick according to risk/reward* which ignores the policy. The
> reasons for following a *policy* of avoiding cherrypicks are more important
> (community > code). Clear published policies:
>
>  - set expectations for people developing code so they can know in advance
> whether or not their cherrypick fits the guidelines
>  - they also know that other cherrypicks will not delay their release
> unless it meets the guidelines
>  - objective guidelines help to eliminate bias, and also communicate that
> lack of bias; even just perception or suspicion of bias harms the community
>
> It is by agreeing on then following policy that we get a predictable and
> fair community process. Any "back to first principles" discussion needs to
> take into account the meta pro/con of having vs not having a policy.
> Assertions about difficulty of rolling a new RC or the risk of a change
> miss the bigger picture.
>

+1, thanks for calling this out.


> Valentyn did a great job of being careful - and communicating - about all
> these things, so that's doubly excellent.
>

Yes, thank you!


> One approach that helps to avoid risk in feature launches and cherry picks
> is to have the big announcement correspond with a flag flip, aka graduating
> to no longer be experimental. Ideally the completed code will have been
> available to users for (at least) a release cycle before considering
> graduation and widespread announcement. In this pattern it is also easier
> to weigh the impact of bugfixes for exceptions to the guidelines.
>
> Kenn
>
> *also risk/reward of a cherrypick is mostly uncertain subjective hand
> waving except for showstopper bugs or big stage product announcements
>
> p.s. FWIW setting a wrong environment is a critical correctness bug that I
> agree with Cham's assessment and totally agree with a cherrypick. Even
> though it isn't a regression itself, correct changes elsewhere can cause a
> regression so the user risk could be pretty high.
>
> On Mon, Jul 20, 2020 at 1:41 AM Maximilian Michels <[email protected]> wrote:
>
>> @Valentyn: Thank you for your transparency in the release process and
>> for considering pending cherry-pick requests. No blockers from my side.
>>
>> -Max
>>
>> On 18.07.20 01:11, Ahmet Altay wrote:
>> > Thank you Valentyn. Being a release manager is difficult. It requires
>> > balancing between stability, following the process, regressions,
>> > timelines. Thank you for following the process, thank you for asking
>> the
>> > right questions, thank you for doing the release.
>> >
>> >
>> > On Fri, Jul 17, 2020 at 3:59 PM Robert Bradshaw <[email protected]
>> > <mailto:[email protected]>> wrote:
>> >
>> >     Thank you, Valentyn!
>> >
>> >     On Fri, Jul 17, 2020 at 3:25 PM Chamikara Jayalath
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >
>> >      >
>> >      >
>> >      > On Fri, Jul 17, 2020 at 3:01 PM Valentyn Tymofieiev
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>
>> >      >> As a general rule, fixes pertaining to new functionality are not
>> >     a good candidate for a cherry-pick.
>> >      >>
>> >      >> A case for an exception can be made for polishing features
>> >     related to major wide announcements with a hard deadline, which
>> >     appears to be the case for xlang on Dataflow.
>> >      >>
>> >      >> I will prepare an RC2 with xlang fixes and consider other
>> >     low-risk additions from issues that were brought to my attention.
>> >      >
>> >      >
>> >      > Thanks Valentyn.
>> >      >
>> >      >>
>> >      >>
>> >      >> Thanks
>> >      >>
>> >      >>
>> >      >> On Fri, Jul 17, 2020 at 10:36 AM Chamikara Jayalath
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>
>> >      >>>
>> >      >>>
>> >      >>> On Fri, Jul 17, 2020 at 10:01 AM Robert Bradshaw
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>>
>> >      >>>> Taking a step back, the goal of avoiding cherry-picks is to
>> reduce
>> >      >>>> risk and increase the velocity of our releases, as otherwise
>> the
>> >      >>>> release manager gets inundated by a never ending list of
>> features
>> >      >>>> people want to get in that puts the releases further and
>> further
>> >      >>>> behind (increasing the desire to get features in in a vicious
>> >     cycle).
>> >      >>>> On the flip side, the reason we have a release process with
>> >     candidates
>> >      >>>> and voting (as opposed to just declaring a commit id every N
>> >     weeks to
>> >      >>>> be "the release") is to give us the flexibility to achieve a
>> >     level of
>> >      >>>> quality and polish that may not ever occur in HEAD itself.
>> >      >>>>
>> >      >>>> With regards to this specific cross-langauge fix, the
>> >     motivation is
>> >      >>>> that those working on it at Google want to widely publish this
>> >     feature
>> >      >>>> as newly available on Dataflow. The question to answer here
>> >     (Cham) is
>> >      >>>> whether this bug is debilitating enough that were it not to be
>> >     in the
>> >      >>>> release we would want to hold off advertising this (and
>> related)
>> >      >>>> features until the next release. (In my understanding, it
>> >     would result
>> >      >>>> in a poor enough user experience that it is.)
>> >      >>>
>> >      >>>
>> >      >>> Yes, I think we will have to either hold off on widely
>> >     publishing the feature or list this as a potential issue that will
>> >     be fixed in the next release for anybody who tries cross-language
>> >     pipelines and runs into this.
>> >      >>> Note that we are getting in a Python Kafka example [1]. So
>> >     users will potentially try this out anyways.
>> >      >>>
>> >      >>> [1] https://github.com/apache/beam/pull/12188
>> >      >>>
>> >      >>>
>> >      >>>>
>> >      >>>>
>> >      >>>> On the other hand, there's the question of the cost of getting
>> >     this
>> >      >>>> fix into the release. The change is simple and well contained,
>> >     so I
>> >      >>>> think the risk is low (and, in particular, the cost to include
>> >     it here
>> >      >>>> is low enough that it's worth the value provided above).
>> >      >>>>
>> >      >>>> Looking at the other proposals,
>> >      >>>> https://github.com/apache/beam/pull/12196 also seems to meet
>> >     this bar
>> >      >>>> (there are possible xlang correctness issues at play here), as
>> >     does
>> >      >>>> https://github.com/apache/beam/pull/12175 (mostly due to its
>> >      >>>> simplicity and the fact that doing it later would be a
>> backwards
>> >      >>>> compatible change). I'm on the fence about
>> >      >>>> https://github.com/apache/beam/pull/12171 (if an RC2 is in
>> the
>> >     works
>> >      >>>> anyway), and IMHO the others are less compelling as having to
>> >     be done
>> >      >>>> now.
>> >      >>>
>> >      >>>
>> >      >>> +1
>> >      >>>
>> >      >>>>
>> >      >>>>
>> >      >>>> (On the question of a point release, IMHO anything worth
>> >     considering
>> >      >>>> for an x.y.1 release definitely meets the bar for inclusion
>> >     into an RC
>> >      >>>> of an ongoing release.)
>> >      >>>>
>> >      >>>> - Robert
>> >      >>>>
>> >      >>>>
>> >      >>>> On Thu, Jul 16, 2020 at 8:00 PM Chamikara Jayalath
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >
>> >      >>>> >
>> >      >>>> >
>> >      >>>> > On Thu, Jul 16, 2020 at 7:46 PM Chamikara Jayalath
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>
>> >      >>>> >>
>> >      >>>> >>
>> >      >>>> >> On Thu, Jul 16, 2020 at 7:28 PM Valentyn Tymofieiev
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>>
>> >      >>>> >>>
>> >      >>>> >>>
>> >      >>>> >>> On Thu, Jul 16, 2020, 19:07 Chamikara Jayalath
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>>>
>> >      >>>> >>>>
>> >      >>>> >>>>
>> >      >>>> >>>> On Thu, Jul 16, 2020 at 6:16 PM Valentyn Tymofieiev
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>>>>
>> >      >>>> >>>>> Thanks for the feedback, help with release validation,
>> >     and for reaching out on dev@ regarding a cherry-pick request.
>> >      >>>> >>>>>
>> >      >>>> >>>>> BEAM-10397 pertains to new functionality (xlang support
>> >     on Dataflow). Are there any reasons that this fix cannot wait until
>> >     2.24.0 (release cut date 4 weeks from now)?
>> >      >>>> >>>>>
>> >      >>>> >>>>> For transparency, I would like to list other cherry-pick
>> >     requests that I received off-the list (stakeholders bcc'ed):
>> >      >>>> >>>>> - https://github.com/apache/beam/pull/12175
>> >      >>>> >>>>> - https://github.com/apache/beam/pull/12196
>> >      >>>> >>>>> - https://github.com/apache/beam/pull/12171
>> >      >>>> >>>>> - https://issues.apache.org/jira/browse/BEAM-10492
>> >     (recently added)
>> >      >>>> >>>>> - https://issues.apache.org/jira/browse/BEAM-10385
>> >      >>>> >>>>> - https://github.com/apache/beam/pull/12187 (was
>> >     available before any of RC1 artifacts were created and integrated)
>> >      >>>> >>>>
>> >      >>>> >>>>
>> >      >>>> >>>> My main concern is Python changes in
>> >     https://github.com/apache/beam/pull/12164. Other changes (at least
>> >     related to x-lang) can wait.
>> >      >>>> >>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>> My response to such requests is guided by the release
>> >     guide [1]:
>> >      >>>> >>>>>
>> >      >>>> >>>>> - None of the issues were a regression from a previous
>> >     release.
>> >      >>>> >>>>> - Most are related to new or recently introduced
>> >     functionality.
>> >      >>>> >>>>> - 3 of the requests are related to xlang io, which is
>> >     very exciting and important functionality, but arguably does not
>> >     impact a large percentage of [existing] users.
>> >      >>>> >>>>
>> >      >>>> >>>>
>> >      >>>> >>>> Agree that this is not a regression from the previous
>> >     release but it may result in inconsistent behavior when users
>> >     execute x-lang pipelines. Actually I think this is a pretty serious
>> >     issue for portability (we are not setting the environment in
>> >     WindowingStrategy) but for some reason we are not hitting this in
>> >     other tests.
>> >      >>>> >>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>> So they do not seem to be release-blocking according to
>> >     the guide.
>> >      >>>> >>>>>
>> >      >>>> >>>>> At this point creating a new RC would delay 2.23.0
>> >     availability by at least a week. While a new RC will improve the
>> >     stability of xlang IO, it will also delay the release of  features
>> >     and bug fixes available in 2.23.0. It will also create a precedent
>> >     of inconsistency with release policy. Should we delay the release if
>> >     we discover another xlang issue during validation next week?
>> >      >>>> >>>>
>> >      >>>> >>>>
>> >      >>>> >>>> To be honest, I don't think re-validating after the
>> >     cherry-pick mentioned above will take a week (unless we find other
>> >     issues). We just need to rebuild and re-validate the Python
>> >     distribution and may be rebuild Dataflow containers. I'm
>> >     volunteering to help you with this :)
>> >      >>>> >>>
>> >      >>>> >>>
>> >      >>>> >>> I was taking 72hrs of voting Window into account that must
>> >     happen outside of the weekend and the fact that I will be OOO for
>> >     one day.
>> >      >>>> >>
>> >      >>>> >>
>> >      >>>> >> Got it.
>> >      >>>> >>
>> >      >>>> >>>
>> >      >>>> >>>
>> >      >>>> >>> If the issue you mention seriously impacts (can cause data
>> >     loss, pipeline failures) all of users on portable stack or other
>> >     large user base  (not just cross-language support in Dataflow (new
>> >     user-base) ), this is  definitely a candidate for an ASAP fix.
>> >      >>>> >>>
>> >      >>>> >>> What is your assessment of the size of the user base that
>> >     is affected by the issue (large, medium, small, does not affect
>> >     production for any of existing users)?
>> >      >>>> >>
>> >      >>>> >>
>> >      >>>> >> Impact today I think is low but potential for impact in the
>> >     future is high. For example, if we update Dataflow service or
>> >     portable runners to require environment in WindowingStrategy, we'll
>> >     have to either fork for this or require users to upgrade to a Beam
>> >     version with the fix.
>> >      >>>> >
>> >      >>>> >
>> >      >>>> > Actually, ignore the "portable runners" part. Seems like we
>> >     already set "context.default_environment_id()" in the
>> >     WindowingStrategy so impact is likely only for Dataflow where we do
>> >     not set an environment_id in serialized WindowingStrategy that is
>> >     set in GBK.
>> >      >>>> >
>> >      >>>> >>
>> >      >>>> >>
>> >      >>>> >> Thanks,
>> >      >>>> >> Cham
>> >      >>>> >>
>> >      >>>> >>>
>> >      >>>> >>>
>> >      >>>> >>> Thanks!
>> >      >>>> >>>
>> >      >>>> >>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>> My preferred course of action is to continue with RC0,
>> >     since release velocity is important for product health.
>> >      >>>> >>>>>
>> >      >>>> >>>>> Given that we are having this conversation, we can
>> >     revise the cherry-pick policy if we think it does not adequately
>> >     cover this situation.
>> >      >>>> >>>>
>> >      >>>> >>>>
>> >      >>>> >>>> Agree. We have a very strong policy currently regarding
>> >     cherry-picks but it's up to the release manager to look into
>> >     requests on a case-by-case basis.
>> >      >>>> >>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>> We can also propose a patch-version release  with urgent
>> >     cherry-picks (release 2.23.1), or consider a faster release cadence
>> >     if 6 weeks is too slow.
>> >      >>>> >>>>
>> >      >>>> >>>>
>> >      >>>> >>>> Honestly I don't think this is practical. Making a new
>> >     patch release, validation, vote etc will take 2 weeks or so. We
>> >     either should cherry-pick this into current release or wait till the
>> >     next one. I think patch releases should be reserved for critical
>> >     updates to LTS releases.
>> >      >>>> >>>>
>> >      >>>> >>>> Thanks,
>> >      >>>> >>>> Cham
>> >      >>>> >>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>> Thanks,
>> >      >>>> >>>>> Valentyn
>> >      >>>> >>>>>
>> >      >>>> >>>>> [1]
>> >
>> https://beam.apache.org/contribute/release-guide/#review-cherry-picks
>> >      >>>> >>>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>>
>> >      >>>> >>>>> On Wed, Jul 15, 2020 at 5:41 PM Chamikara Jayalath
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>>>>>
>> >      >>>> >>>>>> I agree. I think Dataflow x-lang users could run into
>> >     flaky pipelines due to this. Valentyn, are you OK with creating a
>> >     new RC that includes the fix (already merged -
>> >     https://github.com/apache/beam/pull/12164) and preferably
>> >     https://github.com/apache/beam/pull/12196 ?
>> >      >>>> >>>>>>
>> >      >>>> >>>>>> Thanks,
>> >      >>>> >>>>>> Cham
>> >      >>>> >>>>>>
>> >      >>>> >>>>>> On Wed, Jul 15, 2020 at 5:27 PM Heejong Lee
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>>>>>>
>> >      >>>> >>>>>>> I think we need to cherry-pick
>> >     https://issues.apache.org/jira/browse/BEAM-10397 which fixes
>> missing
>> >     environment errors for Dataflow xlang pipelines. Internally, we have
>> >     a flaky xlang kafkaio test because of missing environment errors and
>> >     any xlang pipelines using GroupByKey could encounter this.
>> >      >>>> >>>>>>>
>> >      >>>> >>>>>>> On Wed, Jul 15, 2020 at 5:08 PM Ahmet Altay
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>>>>>>>
>> >      >>>> >>>>>>>>
>> >      >>>> >>>>>>>>
>> >      >>>> >>>>>>>> On Wed, Jul 15, 2020 at 4:55 PM Robert Bradshaw
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>>>>>>>>
>> >      >>>> >>>>>>>>> All the artifacts, signatures, and hashes look good.
>> >      >>>> >>>>>>>>>
>> >      >>>> >>>>>>>>> I would like to understand the severity of
>> >      >>>> >>>>>>>>> https://issues.apache.org/jira/browse/BEAM-10397
>> >     before giving my
>> >      >>>> >>>>>>>>> vote.
>> >      >>>> >>>>>>>>
>> >      >>>> >>>>>>>>
>> >      >>>> >>>>>>>> +Heejong Lee to comment on this.
>> >      >>>> >>>>>>>>
>> >      >>>> >>>>>>>>>
>> >      >>>> >>>>>>>>>
>> >      >>>> >>>>>>>>> On Wed, Jul 15, 2020 at 10:51 AM Pablo Estrada
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>>>>>>>> >
>> >      >>>> >>>>>>>>> > +1
>> >      >>>> >>>>>>>>> > I was able to run the python 3.8 quickstart from
>> >     wheels on DirectRunner.
>> >      >>>> >>>>>>>>> > I verified hashes for Python files.
>> >      >>>> >>>>>>>>> > -P.
>> >      >>>> >>>>>>>>> >
>> >      >>>> >>>>>>>>> > On Fri, Jul 10, 2020 at 4:34 PM Ahmet Altay
>> >     <[email protected] <mailto:[email protected]>> wrote:
>> >      >>>> >>>>>>>>> >>
>> >      >>>> >>>>>>>>> >> I validated the python 3 quickstarts. I had
>> >     issues with running with python 3.8 wheel files, but did not have
>> >     issues with source distributions, or other python wheel files. I
>> >     have not tested python 2 quickstarts.
>> >      >>>> >>>>>>>>
>> >      >>>> >>>>>>>>
>> >      >>>> >>>>>>>> Did someone validate python 3.8 wheels on Dataflow? I
>> >     was not able to run that.
>> >      >>>> >>>>>>>>
>> >      >>>> >>>>>>>>>
>> >      >>>> >>>>>>>>> >>
>> >      >>>> >>>>>>>>> >> On Thu, Jul 9, 2020 at 10:53 PM Valentyn
>> >     Tymofieiev <[email protected] <mailto:[email protected]>>
>> wrote:
>> >      >>>> >>>>>>>>> >>>
>> >      >>>> >>>>>>>>> >>> Hi everyone,
>> >      >>>> >>>>>>>>> >>>
>> >      >>>> >>>>>>>>> >>> Please review and vote on the release candidate
>> >     #1 for the version 2.23.0, as follows:
>> >      >>>> >>>>>>>>> >>> [ ] +1, Approve the release
>> >      >>>> >>>>>>>>> >>> [ ] -1, Do not approve the release (please
>> >     provide specific comments)
>> >      >>>> >>>>>>>>> >>>
>> >      >>>> >>>>>>>>> >>>
>> >      >>>> >>>>>>>>> >>> The complete staging area is available for your
>> >     review, which includes:
>> >      >>>> >>>>>>>>> >>> * JIRA release notes [1],
>> >      >>>> >>>>>>>>> >>> * the official Apache source release to be
>> >     deployed to dist.apache.org <http://dist.apache.org> [2], which is
>> >     signed with the key with fingerprint 1DF50603225D29A4 [3],
>> >      >>>> >>>>>>>>> >>> * all artifacts to be deployed to the Maven
>> >     Central Repository [4],
>> >      >>>> >>>>>>>>> >>> * source code tag "v2.23.0-RС1" [5],
>> >      >>>> >>>>>>>>> >>> * website pull request listing the release [6],
>> >     publishing the API reference manual [7], and the blog post [8].
>> >      >>>> >>>>>>>>> >>> * Java artifacts were built with Maven 3.6.0 and
>> >     Oracle JDK 1.8.0_201-b09 .
>> >      >>>> >>>>>>>>> >>> * Python artifacts are deployed along with the
>> >     source release to the dist.apache.org <http://dist.apache.org> [2].
>> >      >>>> >>>>>>>>> >>> * Validation sheet with a tab for 2.23.0 release
>> >     to help with validation [9].
>> >      >>>> >>>>>>>>> >>> * Docker images published to Docker Hub [10].
>> >      >>>> >>>>>>>>> >>>
>> >      >>>> >>>>>>>>> >>> The vote will be open for at least 72 hours. It
>> >     is adopted by majority approval, with at least 3 PMC affirmative
>> votes.
>> >      >>>> >>>>>>>>> >>>
>> >      >>>> >>>>>>>>> >>> Thanks,
>> >      >>>> >>>>>>>>> >>> Release Manager
>> >      >>>> >>>>>>>>> >>>
>> >      >>>> >>>>>>>>> >>> [1]
>> >
>> https://jira.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&version=12347145
>> >      >>>> >>>>>>>>> >>> [2]
>> >     https://dist.apache.org/repos/dist/dev/beam/2.23.0/
>> >      >>>> >>>>>>>>> >>> [3]
>> >     https://dist.apache.org/repos/dist/release/beam/KEYS
>> >      >>>> >>>>>>>>> >>> [4]
>> >
>> https://repository.apache.org/content/repositories/orgapachebeam-1105/
>> >      >>>> >>>>>>>>> >>> [5]
>> https://github.com/apache/beam/tree/v2.23.0-RC1
>> >      >>>> >>>>>>>>> >>> [6] https://github.com/apache/beam/pull/12212
>> >      >>>> >>>>>>>>> >>> [7]
>> https://github.com/apache/beam-site/pull/605
>> >      >>>> >>>>>>>>> >>> [8] https://github.com/apache/beam/pull/12213
>> >      >>>> >>>>>>>>> >>> [9]
>> >
>> https://docs.google.com/spreadsheets/d/1qk-N5vjXvbcEk68GjbkSZTR8AGqyNUM-oLFo_ZXBpJw/edit#gid=596347973
>> >      >>>> >>>>>>>>> >>> [10]
>> >     https://hub.docker.com/search?q=apache%2Fbeam&type=image
>> >
>>
>

Reply via email to