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.)

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.

(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]> wrote:
>
>
>
> On Thu, Jul 16, 2020 at 7:46 PM Chamikara Jayalath <[email protected]> 
> wrote:
>>
>>
>>
>> On Thu, Jul 16, 2020 at 7:28 PM Valentyn Tymofieiev <[email protected]> 
>> wrote:
>>>
>>>
>>>
>>> On Thu, Jul 16, 2020, 19:07 Chamikara Jayalath <[email protected]> wrote:
>>>>
>>>>
>>>>
>>>> On Thu, Jul 16, 2020 at 6:16 PM Valentyn Tymofieiev <[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]> 
>>>>> 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]> 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]> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Jul 15, 2020 at 4:55 PM Robert Bradshaw <[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]> 
>>>>>>>>> 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]> 
>>>>>>>>> > 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]> 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 [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 [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