> Just releasing Python can break multi-lang by default (unless expansion service is overridden manually) since we match versions across languages when picking the default expansion service.
Yes, that's why I proposed "the source code of release candidate (e.g. apache_beam/version.py) still reads 2.55.0. " Anyways it seems doing a full release is preferred as it reduces the risk of breakages. On Thu, Mar 28, 2024 at 11:38 AM Chamikara Jayalath via dev < dev@beam.apache.org> wrote: > > > On Thu, Mar 28, 2024 at 8:36 AM Chamikara Jayalath <chamik...@google.com> > wrote: > >> Just releasing Python can break multi-lang by default (unless expansion >> service is overridden manually) since we match versions across languages >> when picking the default expansion service. >> >> >> https://github.com/apache/beam/blob/2f8854a3e34f31c1cc034f95ad36f317abc906ff/sdks/python/apache_beam/utils/subprocess_server.py#L42 >> > > Correct link: > https://github.com/apache/beam/blob/2f8854a3e34f31c1cc034f95ad36f317abc906ff/sdks/python/apache_beam/utils/subprocess_server.py#L352 > > >> >> >> Thanks, >> Cham >> >> On Thu, Mar 28, 2024 at 8:26 AM Danny McCormick via dev < >> dev@beam.apache.org> wrote: >> >>> > The patch itself [1] is trivial, however, the release process is not >>> trivial. There is little documentation nor practice for a patch release >>> process. I could imagine two options >>> >>> I think there's not a ton of documentation because we haven't done it, >>> but all the release workflows were authored in such a way that they should >>> "just work", outside of cutting the release branch itself. So the workflow >>> should be almost identical to the existing one, but with several steps >>> skipped (cherry picks, beam website, most validation). Notably, this >>> shouldn't be any easier/harder if we're doing it for one language or all 3. >>> >>> I can take that on if needed. >>> >>> > Besides, there should be a Beam YAML validation workflow and added in >>> https://docs.google.com/spreadsheets/d/1qk-N5vjXvbcEk68GjbkSZTR8AGqyNUM-oLFo_ZXBpJw/edit#gid=1368030253 >>> >>> > If we do a patch release for Python SDK, let's also patch another >>> known issue for which fix is available: >>> https://github.com/apache/beam/blob/master/CHANGES.md#known-issues-1 >>> >>> +1 to both of these >>> >>> On Thu, Mar 28, 2024 at 11:25 AM Yi Hu via dev <dev@beam.apache.org> >>> wrote: >>> >>>> Thanks Valentyn for raising this. In this case, Python containers will >>>> also be included. Different from PyPI wheels, docker tag can override so it >>>> can stay with 2.55.0 >>>> >>>> On Thu, Mar 28, 2024 at 11:15 AM Valentyn Tymofieiev < >>>> valen...@google.com> wrote: >>>> >>>>> If we do a patch release for Python SDK, let's also patch another >>>>> known issue for which fix is available: >>>>> https://github.com/apache/beam/blob/master/CHANGES.md#known-issues-1 >>>>> >>>>> On Thu, Mar 28, 2024 at 8:01 AM Yi Hu via dev <dev@beam.apache.org> >>>>> wrote: >>>>> >>>>>> 2.55.0 release manager here >>>>>> >>>>>> The patch itself [1] is trivial, however, the release process is not >>>>>> trivial. There is little documentation nor practice for a patch release >>>>>> process. I could imagine two options >>>>>> >>>>>> 1. Do a full "2.55.1" release >>>>>> >>>>>> 2. Do a patch release only for Python SDK, that is >>>>>> a. cherry-pick [1] into release-2.55.0 branch >>>>>> b. tag a 2.55.1rc1 release candidate - note that the source code of >>>>>> release candidate (e.g. apache_beam/version.py) still reads 2.55.0. This >>>>>> ensures Python SDK picks up the Java expansion service / job server of >>>>>> existing version (2.55.0). We did it once for Go SDK ( >>>>>> https://github.com/apache/beam/tree/sdks/v2.48.2) >>>>>> c. Build the release candidate for Python wheels (also Python >>>>>> containers? Not sure if it is needed) >>>>>> d. send out the RC for validation >>>>>> e. finalize the release >>>>>> >>>>>> If we decided to do a patch release I would prefer option 2. I can >>>>>> take on that if decided to do. However, if we decide do a full release >>>>>> (or >>>>>> both Java and Python) I would suggest defer to next release cycle, as the >>>>>> release process itself could take ~10 days minimum if there is single RC. >>>>>> >>>>>> Besides, there should be a Beam YAML validation workflow and added in >>>>>> https://docs.google.com/spreadsheets/d/1qk-N5vjXvbcEk68GjbkSZTR8AGqyNUM-oLFo_ZXBpJw/edit#gid=1368030253 >>>>>> >>>>>> >>>>>> [1] https://github.com/apache/beam/pull/30780 >>>>>> >>>>>> On Thu, Mar 28, 2024 at 10:22 AM Danny McCormick via dev < >>>>>> dev@beam.apache.org> wrote: >>>>>> >>>>>>> +1 on a patch release - we've done a fair amount of work to make >>>>>>> releasing easier, and one of my hopes is that it will enable quick >>>>>>> patches >>>>>>> like this. I'd vote we try to fix the underlying Java piece as well, >>>>>>> though, doing a patch release for one language shouldn't be >>>>>>> significantly >>>>>>> cheaper than doing it for multiple languages. >>>>>>> >>>>>>> Thanks, >>>>>>> Danny >>>>>>> >>>>>>> On Wed, Mar 27, 2024 at 7:19 PM Robert Burke <rob...@frantil.com> >>>>>>> wrote: >>>>>>> >>>>>>>> +1 to a targeted patch release. >>>>>>>> >>>>>>>> We did the same for the Go SDK a little while back. It would be >>>>>>>> good to see what's different for a different SDK. >>>>>>>> >>>>>>>> On Wed, Mar 27, 2024, 4:01 PM Robert Bradshaw via dev < >>>>>>>> dev@beam.apache.org> wrote: >>>>>>>> >>>>>>>>> Given the severity of the breakage, and the simplicity of the >>>>>>>>> workaround, I'm in favor of a patch release. I think we could do >>>>>>>>> Python-only, which would make the process even more lightweight. >>>>>>>>> >>>>>>>>> On Wed, Mar 27, 2024 at 3:48 PM Jeff Kinard <j...@thekinards.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> Beam 2.55 was released with a bug that causes WriteToJson on Beam >>>>>>>>>> YAML to fail when using the Java variant. This also affects any user >>>>>>>>>> attempting to use the Xlang JsonWriteTransformProvider - >>>>>>>>>> https://github.com/apache/beam/blob/master/sdks/java/io/json/src/main/java/org/apache/beam/sdk/io/json/providers/JsonWriteTransformProvider.java >>>>>>>>>> >>>>>>>>>> This is due to a change to >>>>>>>>>> https://github.com/apache/beam/blob/master/sdks/java/io/json/build.gradle >>>>>>>>>> that removed >>>>>>>>>> a dependency on everit which also removed it from being packaged >>>>>>>>>> into the expansion service JAR: >>>>>>>>>> beam-sdks-java-extensions-sql-expansion-service-2.55.0.jar >>>>>>>>>> >>>>>>>>>> There is a temporary fix to disable the provider in Beam YAML: >>>>>>>>>> https://github.com/apache/beam/pull/30777 >>>>>>>>>> >>>>>>>>>> I think with the total loss of function, and a trivial fix, it is >>>>>>>>>> worth creating a patch release of Beam 2.55 to include this fix. >>>>>>>>>> >>>>>>>>>> - Jeff >>>>>>>>>> >>>>>>>>>>