For anyone who hasn't clicked over the Asgarde, my TL;DR description of it is that it adds the "failure monad" aka "andThen" style error/result handling on top of chaining of PCollections. So it is at a similar level of abstraction of our basic transforms and generally useful for chaining dead-letter side outputs. It is no more or less appropriate for the core SDK than, say, the Project/Filter/Join transforms, or Watch, etc. If we actually aspired to have a thin core with the accessories like that in another place, then it should go to that other place.
Kenn On Fri, Sep 8, 2023 at 11:24 AM Daniel Collins via dev <dev@beam.apache.org> wrote: > > until we *require* Asgard on a core transform, it shouldn't be in the > main repo > > I don't think this is necessarily true if it solves end user use cases. If > there is a specific transform that solves a specific use case, we could > include it in the transforms folder for end-users, even if it isn't > utilized in the I/Os at present. Hence the suggestion to take the most > promising transforms and propose adding them with documentation, apis and > rationale. > > -Daniel > > On Fri, Sep 8, 2023 at 11:20 AM Robert Burke <rob...@frantil.com> wrote: > >> I would say until we *require* Asgard on a core transform, it shouldn't >> be in the main repo. >> >> Incorporating something before there's a need for it is premature >> abstraction. We can't do things because they *might* be useful. Let's see >> concrete places where they are useful, or we're already having a similar >> need solved a different way. >> >> Beam is complicated by itself, and we do encourage multiple ways of >> solving problems, but that says to me that having an out of repo ecosystem >> is the right path, rather than incorporation. >> >> On Fri, Sep 8, 2023, 8:14 AM Daniel Collins via dev <dev@beam.apache.org> >> wrote: >> >>> I think there are a lot of interesting and relatively isolated >>> components of the project, it might make sense to write per-transform one >>> pagers for isolated things like the most useful pieces (just basically >>> copying the documentation and justifying the API) instead of doing a >>> one-shot import or having it live forever in an external project. >>> >>> -Daniel >>> >>> On Fri, Sep 8, 2023 at 11:10 AM Kenneth Knowles <k...@apache.org> wrote: >>> >>>> I agree with everyone about "not everything has to be in the Beam >>>> repo". I really like the idea of having a clearer "ecosystem" section of >>>> the website, which is sort of started at >>>> https://beam.apache.org/community/integrations/ but that is not very >>>> prominent. >>>> >>>> Agree with John though. The transforms in Asgarde could potentially be >>>> used in Beam. Potentially best accomplished by just adding them as >>>> transforms to the core Java SDK? >>>> >>>> Kenn >>>> >>>> On Wed, Sep 6, 2023 at 1:46 PM John Casey via dev <dev@beam.apache.org> >>>> wrote: >>>> >>>>> Agreed on documentation and on keeping it in a separate repo. >>>>> >>>>> We have a few pretty significant beam extensions (scio and Dataflow >>>>> Templates also come to mind) that Beam should highlight, but are separate >>>>> repos for their own governance, contributions, and release reasons. >>>>> >>>>> The difference with Asgarde is that we might want to use it in Beam >>>>> itself, which makes it more reasonable to include in the main repo. >>>>> >>>>> On Tue, Sep 5, 2023 at 8:36 PM Robert Bradshaw via dev < >>>>> dev@beam.apache.org> wrote: >>>>> >>>>>> I think this is a great library. I'm on the fence of whether it makes >>>>>> sense to include with Beam proper vs. be a library that builds on top of >>>>>> Beam. (Would there be benefits of tighter integration? There is the >>>>>> maintenance/loss of governance issue.) I am definitely not on the side >>>>>> that >>>>>> the entire Beam ecosystem needs to be distributed/maintained by Beam >>>>>> itself. >>>>>> >>>>>> Regardless of the direction we go, I think it could make a lot of >>>>>> sense to put pointers to it in our documentation. >>>>>> >>>>>> >>>>>> On Tue, Sep 5, 2023 at 7:21 AM Danny McCormick via dev < >>>>>> dev@beam.apache.org> wrote: >>>>>> >>>>>>> I think my only concerns here are around the toil we'll be taking >>>>>>> on, and will we be leaving the asgarde project in a better or worse >>>>>>> place. >>>>>>> >>>>>>> From a release standpoint, we would need to release it with the same >>>>>>> cadence as Beam. Adding asgarde into our standard release process seems >>>>>>> fairly straightforward, though, so I'm not too worried about it - looks >>>>>>> like it's basically (1) add a commit like this >>>>>>> <https://github.com/tosun-si/asgarde/commit/432de527d67dc71f06507328319b466b6d0fb56a>, >>>>>>> (2) run this workflow >>>>>>> <https://github.com/tosun-si/asgarde/blob/main/.github/workflows/publish-project.yml>, >>>>>>> and (3) tag/mark the release as released on GitHub. >>>>>>> >>>>>>> In terms of bug fixes and improvements, though, I'm a little worried >>>>>>> that we might be leaving things in a worse state since Mazlum has been >>>>>>> the >>>>>>> only contributor thus far, and he would lose some governance (and >>>>>>> possibly >>>>>>> the ability to commit code on his own). An extra motivated community >>>>>>> member >>>>>>> or two could change the math a bit, but I'm not sure if there are >>>>>>> actually >>>>>>> clear advantages to including it in Apache other than visibility. Would >>>>>>> adding links to our docs calling Asgarde out as an option accomplish the >>>>>>> same purpose? >>>>>>> >>>>>>> > Let's be careful about whether these tests are included in our >>>>>>> presubmits. Contrib code with flaky tests has been a major pain point in >>>>>>> the past. >>>>>>> >>>>>>> +1 - I think if we do this I'd vote that it be in a separate repo ( >>>>>>> github.com/apache/beam-asgarde made sense to me). >>>>>>> >>>>>>> --------------------------------------- >>>>>>> >>>>>>> Overall, I'm probably a slight -1 to adding this to the Apache >>>>>>> workspace, but +1 to at least adding links from the Beam docs to >>>>>>> Asgarde. >>>>>>> >>>>>>> Thanks, >>>>>>> Danny >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Sep 5, 2023 at 12:03 AM Reuven Lax via dev < >>>>>>> dev@beam.apache.org> wrote: >>>>>>> >>>>>>>> Let's be careful about whether these tests are included in our >>>>>>>> presubmits. Contrib code with flaky tests has been a major pain point >>>>>>>> in >>>>>>>> the past. >>>>>>>> >>>>>>>> On Sat, Sep 2, 2023 at 12:02 PM Austin Bennett <aus...@apache.org> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Wanting us to not miss this. @Mazlum TOSUN >>>>>>>>> <mazlum.to...@gmail.com> is happy to donate Asgarde to >>>>>>>>> our project. >>>>>>>>> >>>>>>>>> It looks like he'd need a SGA and CCLA [ 1 ] on file; anything >>>>>>>>> else? >>>>>>>>> >>>>>>>>> I recalled the donation of Euphoria [ 2 ] , so I looked at those >>>>>>>>> threads [ 3 ] for insights into the process. It didn't look like >>>>>>>>> there >>>>>>>>> was a needed VOTE, so mostly a matter of ensuring necessary >>>>>>>>> signatures, and >>>>>>>>> ideally some sort of consensus [ or non-opposition ] to the donation. >>>>>>>>> >>>>>>>>> >>>>>>>>> [ 1 ] https://www.apache.org/licenses/contributor-agreements.html >>>>>>>>> [ 2 ] https://beam.apache.org/documentation/sdks/java/euphoria/ >>>>>>>>> [ 3 ] >>>>>>>>> https://lists.apache.org/thread/xzlx4rm2tvc36mmwvhyvtdvsw7bnjscp >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Jun 15, 2023 at 7:05 AM Kerry Donny-Clark via dev < >>>>>>>>> dev@beam.apache.org> wrote: >>>>>>>>> >>>>>>>>>> This looks like an excellent contribution. I can easily >>>>>>>>>> understand the motivation, and I think Beam would benefit from a >>>>>>>>>> higher >>>>>>>>>> level abstraction for error handling. >>>>>>>>>> Kerry >>>>>>>>>> >>>>>>>>>> On Wed, Jun 14, 2023, 6:31 PM Austin Bennett <aus...@apache.org> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Beam Devs, >>>>>>>>>>> >>>>>>>>>>> @Mazlum <https://www.linkedin.com/in/mazlum-tosun-900b1812/> >>>>>>>>>>> was suggested to consider donating Asgarde >>>>>>>>>>> <https://github.com/tosun-si/asgarde> to Beam for Java/Kotlin >>>>>>>>>>> error handling to Beam [ see: >>>>>>>>>>> https://2022.beamsummit.org/sessions/error-handling-asgarde/ >>>>>>>>>>> for last year's Beam Summit talk ], he is also the author of >>>>>>>>>>> Pasgard <https://github.com/tosun-si/pasgarde>e [ for Python ] >>>>>>>>>>> and Milgard [ for a simplified Kotlin API ]. >>>>>>>>>>> >>>>>>>>>>> Would Asgarde be a good contribution, something the Beam >>>>>>>>>>> community would be willing to accept? I imagine we might want it >>>>>>>>>>> to live >>>>>>>>>>> at github.com/apache/beam-asgarde ? Or perhaps there is a good >>>>>>>>>>> place in github.com/apache/beam ?? >>>>>>>>>>> >>>>>>>>>>> Especially once/if officially part of Beam, I imagine we'd add >>>>>>>>>>> follow-up items like getting onto the website/docs, and related. >>>>>>>>>>> >>>>>>>>>>> Cheers, >>>>>>>>>>> Austin >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> P.S. This might warrant separate/additional conversations for >>>>>>>>>>> his other libraries, but let's focus any discussion on Asgarde for >>>>>>>>>>> now? >>>>>>>>>>> >>>>>>>>>>