Re: [ANNOUNCE] Apache Flink Stateful Functions Release 3.3.0 released

2023-09-19 Thread Galen Warren via user
Thanks Martijn!

On Tue, Sep 19, 2023 at 6:38 AM Martijn Visser 
wrote:

> The Apache Flink community is excited to announce the release of
> Stateful Functions 3.3.0!
>
> Stateful Functions is a cross-platform stack for building Stateful
> Serverless applications, making it radically simpler to develop
> scalable, consistent, and elastic distributed applications. This new
> release upgrades the Flink runtime to 1.16.2.
>
> Release highlight:
> - Upgrade underlying Flink dependency to 1.16.2
>
> Release blogpost:
>
> https://flink.apache.org/2023/09/19/stateful-functions-3.3.0-release-announcement/
>
> The release is available for download at:
> https://flink.apache.org/downloads/
>
> Java SDK can be found at:
>
> https://search.maven.org/artifact/org.apache.flink/statefun-sdk-java/3.3.0/jar
>
> Python SDK can be found at:
> https://pypi.org/project/apache-flink-statefun/
>
> GoLang SDK can be found at:
> https://github.com/apache/flink-statefun/tree/statefun-sdk-go/v3.3.0
>
> JavaScript SDK can be found at:
> https://www.npmjs.com/package/apache-flink-statefun
>
> Official Docker image for Flink Stateful Functions can be
> found at: https://hub.docker.com/r/apache/flink-statefun
>
> The full release notes are available in Jira:
>
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522=12351276
>
> We would like to thank all contributors of the Apache Flink community who
> made this release possible!
>
> Regards,
> Martijn Visser
>


Re: [DISCUSS] Status of Statefun Project

2023-08-18 Thread Galen Warren via user
Gotcha, makes sense as to the original division.

>> Can this be solved by simply passing in the path to the artifacts

This definitely works if we're going to be copying the artifacts on the
host side -- into the build context -- and then from the context into the
image. It only gets tricky to have a potentially varying path to the
artifacts if we're trying to *directly *include the artifacts in the Docker
context -- then we have a situation where the Docker context must contain
both the artifacts and playground files, with (potentially) different root
locations.

Maybe the simplest thing to do here is just to leave the playground as-is
and then copy the artifacts into the Docker context manually, prior to
building the playground images. I'm fine with that. It will mean that each
Statefun release will require two PRs and two sets of build/publish steps
instead of one, but if everyone else is fine with that I am, too. Unless
anyone objects, I'll go ahead and queue up a PR for the playground that
makes these changes.

Also, I should mention -- in case it's not clear -- that I have already
built and run the playground examples with the code from the PR and
everything worked. So that PR is ready to move forward with review, etc.,
at this point.

Thanks.







On Fri, Aug 18, 2023 at 4:16 PM Tzu-Li (Gordon) Tai 
wrote:

> Hi Galen,
>
> The original intent of having a separate repo for the playground repo, was
> that StateFun users can just go to that and start running simple examples
> without any other distractions from the core code. I personally don't have
> a strong preference here and can understand how it would make the workflow
> more streamlined, but just FYI on the reasoning why are separate in the
> first place.
>
> re: paths for locating StateFun artifacts.
> Can this be solved by simply passing in the path to the artifacts? As well
> as the image tag for the locally build base StateFun image. They could
> probably be environment variables.
>
> Cheers,
> Gordon
>
> On Fri, Aug 18, 2023 at 12:13 PM Galen Warren via user <
> user@flink.apache.org> wrote:
>
>> Yes, exactly! And in addition to the base Statefun jars and the jar for
>> the Java SDK, it does an equivalent copy/register operation for each of the
>> other SDK libraries (Go, Python, Javascript) so that those libraries are
>> also available when building the playground examples.
>>
>> One more question: In order to copy the various build artifacts into the
>> Docker containers, those artifacts need to be part of the Docker context.
>> With the playground being a separate project, that's slightly tricky to do,
>> as there is no guarantee (other than convention) about the relative paths
>> of *flink-statefun* and* flink-statefun-playground *in someone's local
>> filesystem. The way I've set this up locally is to copy the playground into
>> the* flink-statefun* project -- i.e. to *flink-statefun*/playground --
>> such that I can set the Docker context to the root folder of
>> *flink-statefun* and then have access to any local code and/or build
>> artifacts.
>>
>> I'm wondering if there might be any appetite for making that move
>> permanent, i.e. moving the playground to *flink-statefun*/playground and
>> deprecating the standalone playground project. In addition to making the
>> problem of building with unreleased artifacts a bit simpler to solve, it
>> would also simplify the process of releasing a new Statefun version, since
>> the entire process could be handled with a single PR and associated
>> build/deploy tasks. In other words, a single PR could both update and
>> deploy the Statefun package and the playground code and images.
>>
>> As it stands, at least two PRs would be required for each Statefun
>> version update -- one for *flink-statefun* and one for
>> *flink-statefun-playground*.
>>
>> Anyway, just an idea. Maybe there's an important reason for these
>> projects to remain separate. If we do want to keep the playground project
>> where it is, I could solve the copying problem by requiring the two
>> projects to be siblings in the file system and by pre-copying the local
>> build artifacts into a location accessible by the existing Docker contexts.
>> This would still leave us with the need to have two PRs and releases
>> instead of one, though.
>>
>> Thanks for your help!
>>
>>
>> On Fri, Aug 18, 2023 at 2:45 PM Tzu-Li (Gordon) Tai 
>> wrote:
>>
>>> Hi Galen,
>>>
>>> > locally built code is copied into the build containers
>>> so that it can be accessed during the build.
>>>
>>> That's exactly what we had been doing for release testing, y

Re: [DISCUSS] Status of Statefun Project

2023-08-18 Thread Galen Warren via user
Yes, exactly! And in addition to the base Statefun jars and the jar for the
Java SDK, it does an equivalent copy/register operation for each of the
other SDK libraries (Go, Python, Javascript) so that those libraries are
also available when building the playground examples.

One more question: In order to copy the various build artifacts into the
Docker containers, those artifacts need to be part of the Docker context.
With the playground being a separate project, that's slightly tricky to do,
as there is no guarantee (other than convention) about the relative paths
of *flink-statefun* and* flink-statefun-playground *in someone's local
filesystem. The way I've set this up locally is to copy the playground into
the* flink-statefun* project -- i.e. to *flink-statefun*/playground -- such
that I can set the Docker context to the root folder of *flink-statefun*
and then have access to any local code and/or build artifacts.

I'm wondering if there might be any appetite for making that move
permanent, i.e. moving the playground to *flink-statefun*/playground and
deprecating the standalone playground project. In addition to making the
problem of building with unreleased artifacts a bit simpler to solve, it
would also simplify the process of releasing a new Statefun version, since
the entire process could be handled with a single PR and associated
build/deploy tasks. In other words, a single PR could both update and
deploy the Statefun package and the playground code and images.

As it stands, at least two PRs would be required for each Statefun version
update -- one for *flink-statefun* and one for *flink-statefun-playground*.

Anyway, just an idea. Maybe there's an important reason for these projects
to remain separate. If we do want to keep the playground project where it
is, I could solve the copying problem by requiring the two projects to be
siblings in the file system and by pre-copying the local build artifacts
into a location accessible by the existing Docker contexts. This would
still leave us with the need to have two PRs and releases instead of one,
though.

Thanks for your help!


On Fri, Aug 18, 2023 at 2:45 PM Tzu-Li (Gordon) Tai 
wrote:

> Hi Galen,
>
> > locally built code is copied into the build containers
> so that it can be accessed during the build.
>
> That's exactly what we had been doing for release testing, yes. Sorry I
> missed that detail in my previous response.
>
> And yes, that sounds like a reasonable approach. If I understand you
> correctly, the workflow would become this:
>
>1. Build the StateFun repo locally to install the snapshot artifact
>jars + have a local base StateFun image.
>2. Run the playground in "local" mode, so that it uses the local base
>StateFun image + builds the playground code using copied artifact jars
>(instead of pulling from Maven).
>
> That looks good to me!
>
> Thanks,
> Gordon
>
> On Fri, Aug 18, 2023 at 11:33 AM Galen Warren
>  wrote:
>
> > Thanks.
> >
> > If you were to build a local image, as you suggest, how do you access
> that
> > image when building the playground images? All the compilation of
> > playground code happens inside containers, so local images on the host
> > aren't available in those containers. Unless I'm missing something?
> >
> > I've slightly reworked things such that the playground images can be run
> in
> > one of two modes -- the default mode, which works like before, and a
> > "local" mode where locally built code is copied into the build containers
> > so that it can be accessed during the build. It works fine, you just have
> > to define a couple of environment variables when running docker-compose
> to
> > specify default vs. local mode and what versions of Flink and Statefun
> > should be referenced, and then you can build a run the local examples
> > without any additional steps. Does that sound like a reasonable approach?
> >
> >
> > On Fri, Aug 18, 2023 at 2:17 PM Tzu-Li (Gordon) Tai  >
> > wrote:
> >
> > > Hi Galen,
> > >
> > > > Gordon, is there a trick to running the sample code in
> > > flink-statefun-playground against yet-unreleased code that I'm missing?
> > >
> > > You'd have to locally build an image from the release branch, with a
> > > temporary image version tag. Then, in the flink-statefun-playground,
> > change
> > > the image versions in the docker-compose files to use that locally
> built
> > > image. IIRC, that's what we have been doing in the past. Admittedly,
> it's
> > > pretty manual - I don't think the CI manages this workflow.
> > >
> > > Thanks,
> > > Gordon
> > >
> > > On Mon, Aug 14, 2023 at 1

Re: [DISCUSS] Status of Statefun Project

2023-08-18 Thread Galen Warren via user
Thanks.

If you were to build a local image, as you suggest, how do you access that
image when building the playground images? All the compilation of
playground code happens inside containers, so local images on the host
aren't available in those containers. Unless I'm missing something?

I've slightly reworked things such that the playground images can be run in
one of two modes -- the default mode, which works like before, and a
"local" mode where locally built code is copied into the build containers
so that it can be accessed during the build. It works fine, you just have
to define a couple of environment variables when running docker-compose to
specify default vs. local mode and what versions of Flink and Statefun
should be referenced, and then you can build a run the local examples
without any additional steps. Does that sound like a reasonable approach?


On Fri, Aug 18, 2023 at 2:17 PM Tzu-Li (Gordon) Tai 
wrote:

> Hi Galen,
>
> > Gordon, is there a trick to running the sample code in
> flink-statefun-playground against yet-unreleased code that I'm missing?
>
> You'd have to locally build an image from the release branch, with a
> temporary image version tag. Then, in the flink-statefun-playground, change
> the image versions in the docker-compose files to use that locally built
> image. IIRC, that's what we have been doing in the past. Admittedly, it's
> pretty manual - I don't think the CI manages this workflow.
>
> Thanks,
> Gordon
>
> On Mon, Aug 14, 2023 at 10:42 AM Galen Warren 
> wrote:
>
> > I created a pull request for this: [FLINK-31619] Upgrade Stateful
> > Functions to Flink 1.16.1 by galenwarren · Pull Request #331 ·
> > apache/flink-statefun (github.com)
> > <https://github.com/apache/flink-statefun/pull/331>.
> >
> > JIRA is here: [FLINK-31619] Upgrade Stateful Functions to Flink 1.16.1 -
> > ASF JIRA (apache.org)
> > <https://issues.apache.org/jira/browse/FLINK-31619?filter=-1>.
> >
> > Statefun references 1.16.2, despite the title -- that version has come
> out
> > since the issue was created.
> >
> > I figured out how to run all the playground tests locally, but it took a
> > bit of reworking of the playground setup with respect to Docker;
> > specifically, the Docker contexts used to build the example functions
> > needed to be broadened (i.e. moved up the tree) so that, if needed, local
> > artifacts/code can be accessed from within the containers at build time.
> > Then I made the Docker compose.yml configurable through environment
> > variables to allow for them to run in either the original manner -- i.e.
> > pulling artifacts from public repos -- or in a "local" mode, where
> > artifacts are pulled from local builds.
> >
> > This process is a cleaner if the playground is a subfolder of the
> > flink-statefun project rather than be its own repository
> > (flink-statefun-playground), because then all the relative paths between
> > the playground files and the build artifacts are fixed. So, I'd like to
> > propose to move the playground files, modified as described above, to
> > flink-statefun/playground and retire flink-statefun-playground. I can
> > submit separate PR s those changes if everyone is on board.
> >
> > Also, should I plan to do the same upgrade to handle Flink 1.17.x? It
> > should be easy to do, especially while the 1.16.x upgrade is fresh on my
> > mind.
> >
> > Thanks.
> >
> >
> > On Fri, Aug 11, 2023 at 6:40 PM Galen Warren 
> > wrote:
> >
> >> I'm done with the code to make Statefun compatible with Flink 1.16, and
> >> all the tests (including e2e succeed). The required changes were pretty
> >> minimal.
> >>
> >> I'm running into a bit of a chicken/egg problem executing the tests in
> >> flink-statefun-playground
> >> <https://github.com/apache/flink-statefun-playground>, though. That
> >> project seems to assume that all the various Statefun artifacts are
> built
> >> and deployed to the various public repositories already. I've looked
> into
> >> trying to redirect references to local artifacts; however, that's also
> >> tricky since all the building occurs in Docker containers.
> >>
> >> Gordon, is there a trick to running the sample code in
> >> flink-statefun-playground against yet-unreleased code that I'm missing?
> >>
> >> Thanks.
> >>
> >> On Sat, Jun 24, 2023 at 12:40 PM Galen Warren 
> >> wrote:
> >>
> >>> Great -- thanks!
> >>>
> >>> I'm going to be out of town for about a week but I'll take

Re: [DISCUSS] Status of Statefun Project

2023-08-14 Thread Galen Warren via user
I created a pull request for this: [FLINK-31619] Upgrade Stateful Functions
to Flink 1.16.1 by galenwarren · Pull Request #331 · apache/flink-statefun
(github.com) <https://github.com/apache/flink-statefun/pull/331>.

JIRA is here: [FLINK-31619] Upgrade Stateful Functions to Flink 1.16.1 -
ASF JIRA (apache.org)
<https://issues.apache.org/jira/browse/FLINK-31619?filter=-1>.

Statefun references 1.16.2, despite the title -- that version has come out
since the issue was created.

I figured out how to run all the playground tests locally, but it took a
bit of reworking of the playground setup with respect to Docker;
specifically, the Docker contexts used to build the example functions
needed to be broadened (i.e. moved up the tree) so that, if needed, local
artifacts/code can be accessed from within the containers at build time.
Then I made the Docker compose.yml configurable through environment
variables to allow for them to run in either the original manner -- i.e.
pulling artifacts from public repos -- or in a "local" mode, where
artifacts are pulled from local builds.

This process is a cleaner if the playground is a subfolder of the
flink-statefun project rather than be its own repository
(flink-statefun-playground), because then all the relative paths between
the playground files and the build artifacts are fixed. So, I'd like to
propose to move the playground files, modified as described above, to
flink-statefun/playground and retire flink-statefun-playground. I can
submit separate PR s those changes if everyone is on board.

Also, should I plan to do the same upgrade to handle Flink 1.17.x? It
should be easy to do, especially while the 1.16.x upgrade is fresh on my
mind.

Thanks.


On Fri, Aug 11, 2023 at 6:40 PM Galen Warren 
wrote:

> I'm done with the code to make Statefun compatible with Flink 1.16, and
> all the tests (including e2e succeed). The required changes were pretty
> minimal.
>
> I'm running into a bit of a chicken/egg problem executing the tests in
> flink-statefun-playground
> <https://github.com/apache/flink-statefun-playground>, though. That
> project seems to assume that all the various Statefun artifacts are built
> and deployed to the various public repositories already. I've looked into
> trying to redirect references to local artifacts; however, that's also
> tricky since all the building occurs in Docker containers.
>
> Gordon, is there a trick to running the sample code in
> flink-statefun-playground against yet-unreleased code that I'm missing?
>
> Thanks.
>
> On Sat, Jun 24, 2023 at 12:40 PM Galen Warren 
> wrote:
>
>> Great -- thanks!
>>
>> I'm going to be out of town for about a week but I'll take a look at this
>> when I'm back.
>>
>> On Tue, Jun 20, 2023 at 8:46 AM Martijn Visser 
>> wrote:
>>
>>> Hi Galen,
>>>
>>> Yes, I'll be more than happy to help with Statefun releases.
>>>
>>> Best regards,
>>>
>>> Martijn
>>>
>>> On Tue, Jun 20, 2023 at 2:21 PM Galen Warren 
>>> wrote:
>>>
>>>> Thanks.
>>>>
>>>> Martijn, to answer your question, I'd need to do a small amount of work
>>>> to get a PR ready, but not much. Happy to do it if we're deciding to
>>>> restart Statefun releases -- are we?
>>>>
>>>> -- Galen
>>>>
>>>> On Sat, Jun 17, 2023 at 9:47 AM Tzu-Li (Gordon) Tai <
>>>> tzuli...@apache.org> wrote:
>>>>
>>>>> > Perhaps he could weigh in on whether the combination of automated
>>>>> tests plus those smoke tests should be sufficient for testing with new
>>>>> Flink versions
>>>>>
>>>>> What we usually did at the bare minimum for new StateFun releases was
>>>>> the following:
>>>>>
>>>>>1. Build tests (including the smoke tests in the e2e module, which
>>>>>covers important tests like exactly-once verification)
>>>>>2. Updating the flink-statefun-playground repo and manually
>>>>>running all language examples there.
>>>>>
>>>>> If upgrading Flink versions was the only change in the release, I'd
>>>>> probably say that this is sufficient.
>>>>>
>>>>> Best,
>>>>> Gordon
>>>>>
>>>>> On Thu, Jun 15, 2023 at 5:25 AM Martijn Visser <
>>>>> martijnvis...@apache.org> wrote:
>>>>>
>>>>>> Let me know if you have a PR for a Flink update :)
>>>>>>
>>>>>> On Thu, Jun 8, 2023 at 5:52 PM Galen Warren via user <
>>>>

Re: [DISCUSS] Status of Statefun Project

2023-08-11 Thread Galen Warren via user
I'm done with the code to make Statefun compatible with Flink 1.16, and all
the tests (including e2e succeed). The required changes were pretty minimal.

I'm running into a bit of a chicken/egg problem executing the tests in
flink-statefun-playground
<https://github.com/apache/flink-statefun-playground>, though. That project
seems to assume that all the various Statefun artifacts are built and
deployed to the various public repositories already. I've looked into
trying to redirect references to local artifacts; however, that's also
tricky since all the building occurs in Docker containers.

Gordon, is there a trick to running the sample code in
flink-statefun-playground against yet-unreleased code that I'm missing?

Thanks.

On Sat, Jun 24, 2023 at 12:40 PM Galen Warren 
wrote:

> Great -- thanks!
>
> I'm going to be out of town for about a week but I'll take a look at this
> when I'm back.
>
> On Tue, Jun 20, 2023 at 8:46 AM Martijn Visser 
> wrote:
>
>> Hi Galen,
>>
>> Yes, I'll be more than happy to help with Statefun releases.
>>
>> Best regards,
>>
>> Martijn
>>
>> On Tue, Jun 20, 2023 at 2:21 PM Galen Warren 
>> wrote:
>>
>>> Thanks.
>>>
>>> Martijn, to answer your question, I'd need to do a small amount of work
>>> to get a PR ready, but not much. Happy to do it if we're deciding to
>>> restart Statefun releases -- are we?
>>>
>>> -- Galen
>>>
>>> On Sat, Jun 17, 2023 at 9:47 AM Tzu-Li (Gordon) Tai 
>>> wrote:
>>>
>>>> > Perhaps he could weigh in on whether the combination of automated
>>>> tests plus those smoke tests should be sufficient for testing with new
>>>> Flink versions
>>>>
>>>> What we usually did at the bare minimum for new StateFun releases was
>>>> the following:
>>>>
>>>>1. Build tests (including the smoke tests in the e2e module, which
>>>>covers important tests like exactly-once verification)
>>>>2. Updating the flink-statefun-playground repo and manually running
>>>>all language examples there.
>>>>
>>>> If upgrading Flink versions was the only change in the release, I'd
>>>> probably say that this is sufficient.
>>>>
>>>> Best,
>>>> Gordon
>>>>
>>>> On Thu, Jun 15, 2023 at 5:25 AM Martijn Visser <
>>>> martijnvis...@apache.org> wrote:
>>>>
>>>>> Let me know if you have a PR for a Flink update :)
>>>>>
>>>>> On Thu, Jun 8, 2023 at 5:52 PM Galen Warren via user <
>>>>> user@flink.apache.org> wrote:
>>>>>
>>>>>> Thanks Martijn.
>>>>>>
>>>>>> Personally, I'm already using a local fork of Statefun that is
>>>>>> compatible with Flink 1.16.x, so I wouldn't have any need for a released
>>>>>> version compatible with 1.15.x. I'd be happy to do the PRs to modify
>>>>>> Statefun to work with new versions of Flink as they come along.
>>>>>>
>>>>>> As for testing, Statefun does have unit tests and Gordon also sent me
>>>>>> instructions a while back for how to do some additional smoke tests which
>>>>>> are pretty straightforward. Perhaps he could weigh in on whether the
>>>>>> combination of automated tests plus those smoke tests should be 
>>>>>> sufficient
>>>>>> for testing with new Flink versions (I believe the answer is yes).
>>>>>>
>>>>>> -- Galen
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Jun 8, 2023 at 8:01 AM Martijn Visser <
>>>>>> martijnvis...@apache.org> wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> Apologies for the late reply.
>>>>>>>
>>>>>>> I'm willing to help out with merging requests in Statefun to keep
>>>>>>> them
>>>>>>> compatible with new Flink releases and create new releases. I do
>>>>>>> think that
>>>>>>> validation of the functionality of these releases depends a lot on
>>>>>>> those
>>>>>>> who do these compatibility updates, with PMC members helping out
>>>>>>> with the
>>>>>>> formal process.
>>>>>>>
>>>>>>> > Why can't the Apache Sof

Re: [DISCUSS] Status of Statefun Project

2023-06-24 Thread Galen Warren via user
Great -- thanks!

I'm going to be out of town for about a week but I'll take a look at this
when I'm back.

On Tue, Jun 20, 2023 at 8:46 AM Martijn Visser  wrote:

> Hi Galen,
>
> Yes, I'll be more than happy to help with Statefun releases.
>
> Best regards,
>
> Martijn
>
> On Tue, Jun 20, 2023 at 2:21 PM Galen Warren 
> wrote:
>
>> Thanks.
>>
>> Martijn, to answer your question, I'd need to do a small amount of work
>> to get a PR ready, but not much. Happy to do it if we're deciding to
>> restart Statefun releases -- are we?
>>
>> -- Galen
>>
>> On Sat, Jun 17, 2023 at 9:47 AM Tzu-Li (Gordon) Tai 
>> wrote:
>>
>>> > Perhaps he could weigh in on whether the combination of automated
>>> tests plus those smoke tests should be sufficient for testing with new
>>> Flink versions
>>>
>>> What we usually did at the bare minimum for new StateFun releases was
>>> the following:
>>>
>>>1. Build tests (including the smoke tests in the e2e module, which
>>>covers important tests like exactly-once verification)
>>>2. Updating the flink-statefun-playground repo and manually running
>>>all language examples there.
>>>
>>> If upgrading Flink versions was the only change in the release, I'd
>>> probably say that this is sufficient.
>>>
>>> Best,
>>> Gordon
>>>
>>> On Thu, Jun 15, 2023 at 5:25 AM Martijn Visser 
>>> wrote:
>>>
>>>> Let me know if you have a PR for a Flink update :)
>>>>
>>>> On Thu, Jun 8, 2023 at 5:52 PM Galen Warren via user <
>>>> user@flink.apache.org> wrote:
>>>>
>>>>> Thanks Martijn.
>>>>>
>>>>> Personally, I'm already using a local fork of Statefun that is
>>>>> compatible with Flink 1.16.x, so I wouldn't have any need for a released
>>>>> version compatible with 1.15.x. I'd be happy to do the PRs to modify
>>>>> Statefun to work with new versions of Flink as they come along.
>>>>>
>>>>> As for testing, Statefun does have unit tests and Gordon also sent me
>>>>> instructions a while back for how to do some additional smoke tests which
>>>>> are pretty straightforward. Perhaps he could weigh in on whether the
>>>>> combination of automated tests plus those smoke tests should be sufficient
>>>>> for testing with new Flink versions (I believe the answer is yes).
>>>>>
>>>>> -- Galen
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Jun 8, 2023 at 8:01 AM Martijn Visser <
>>>>> martijnvis...@apache.org> wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> Apologies for the late reply.
>>>>>>
>>>>>> I'm willing to help out with merging requests in Statefun to keep them
>>>>>> compatible with new Flink releases and create new releases. I do
>>>>>> think that
>>>>>> validation of the functionality of these releases depends a lot on
>>>>>> those
>>>>>> who do these compatibility updates, with PMC members helping out with
>>>>>> the
>>>>>> formal process.
>>>>>>
>>>>>> > Why can't the Apache Software Foundation allow community members to
>>>>>> bring
>>>>>> it up to date?
>>>>>>
>>>>>> There's nothing preventing anyone from reviewing any of the current
>>>>>> PRs or
>>>>>> opening new ones. However, none of them are approved [1], so there's
>>>>>> also
>>>>>> nothing to merge.
>>>>>>
>>>>>> > I believe that there are people and companies on this mailing list
>>>>>> interested in supporting Apache Flink Stateful Functions.
>>>>>>
>>>>>> If so, then now is the time to show.
>>>>>>
>>>>>> Would there be a preference to create a release with Galen's merged
>>>>>> compatibility update to Flink 1.15.2, or do we want to skip that and
>>>>>> go
>>>>>> straight to a newer version?
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> Martijn
>>>>>>
>>>>>> [1]
>>>>>>
>>>>>>

Re: [DISCUSS] Status of Statefun Project

2023-06-20 Thread Galen Warren via user
Thanks.

Martijn, to answer your question, I'd need to do a small amount of work to
get a PR ready, but not much. Happy to do it if we're deciding to restart
Statefun releases -- are we?

-- Galen

On Sat, Jun 17, 2023 at 9:47 AM Tzu-Li (Gordon) Tai 
wrote:

> > Perhaps he could weigh in on whether the combination of automated tests
> plus those smoke tests should be sufficient for testing with new Flink
> versions
>
> What we usually did at the bare minimum for new StateFun releases was the
> following:
>
>1. Build tests (including the smoke tests in the e2e module, which
>covers important tests like exactly-once verification)
>2. Updating the flink-statefun-playground repo and manually running
>all language examples there.
>
> If upgrading Flink versions was the only change in the release, I'd
> probably say that this is sufficient.
>
> Best,
> Gordon
>
> On Thu, Jun 15, 2023 at 5:25 AM Martijn Visser 
> wrote:
>
>> Let me know if you have a PR for a Flink update :)
>>
>> On Thu, Jun 8, 2023 at 5:52 PM Galen Warren via user <
>> user@flink.apache.org> wrote:
>>
>>> Thanks Martijn.
>>>
>>> Personally, I'm already using a local fork of Statefun that is
>>> compatible with Flink 1.16.x, so I wouldn't have any need for a released
>>> version compatible with 1.15.x. I'd be happy to do the PRs to modify
>>> Statefun to work with new versions of Flink as they come along.
>>>
>>> As for testing, Statefun does have unit tests and Gordon also sent me
>>> instructions a while back for how to do some additional smoke tests which
>>> are pretty straightforward. Perhaps he could weigh in on whether the
>>> combination of automated tests plus those smoke tests should be sufficient
>>> for testing with new Flink versions (I believe the answer is yes).
>>>
>>> -- Galen
>>>
>>>
>>>
>>> On Thu, Jun 8, 2023 at 8:01 AM Martijn Visser 
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Apologies for the late reply.
>>>>
>>>> I'm willing to help out with merging requests in Statefun to keep them
>>>> compatible with new Flink releases and create new releases. I do think
>>>> that
>>>> validation of the functionality of these releases depends a lot on those
>>>> who do these compatibility updates, with PMC members helping out with
>>>> the
>>>> formal process.
>>>>
>>>> > Why can't the Apache Software Foundation allow community members to
>>>> bring
>>>> it up to date?
>>>>
>>>> There's nothing preventing anyone from reviewing any of the current PRs
>>>> or
>>>> opening new ones. However, none of them are approved [1], so there's
>>>> also
>>>> nothing to merge.
>>>>
>>>> > I believe that there are people and companies on this mailing list
>>>> interested in supporting Apache Flink Stateful Functions.
>>>>
>>>> If so, then now is the time to show.
>>>>
>>>> Would there be a preference to create a release with Galen's merged
>>>> compatibility update to Flink 1.15.2, or do we want to skip that and go
>>>> straight to a newer version?
>>>>
>>>> Best regards,
>>>>
>>>> Martijn
>>>>
>>>> [1]
>>>>
>>>> https://github.com/apache/flink-statefun/pulls?q=is%3Apr+is%3Aopen+review%3Aapproved
>>>>
>>>> On Tue, Jun 6, 2023 at 3:55 PM Marco Villalobos <
>>>> mvillalo...@kineteque.com>
>>>> wrote:
>>>>
>>>> > Why can't the Apache Software Foundation allow community members to
>>>> bring
>>>> > it up to date?
>>>> >
>>>> > What's the process for that?
>>>> >
>>>> > I believe that there are people and companies on this mailing list
>>>> > interested in supporting Apache Flink Stateful Functions.
>>>> >
>>>> > You already had two people on this thread express interest.
>>>> >
>>>> > At the very least, we could keep the library versions up to date.
>>>> >
>>>> > There are only a small list of new features that might be worthwhile:
>>>> >
>>>> > 1. event time processing
>>>> > 2. state rest api
>>>> >
>>>> >
>>>> > On Jun 6, 2023, at 3:06 AM, Chesnay 

Re: [DISCUSS] Status of Statefun Project

2023-06-08 Thread Galen Warren via user
Thanks Martijn.

Personally, I'm already using a local fork of Statefun that is compatible
with Flink 1.16.x, so I wouldn't have any need for a released version
compatible with 1.15.x. I'd be happy to do the PRs to modify Statefun to
work with new versions of Flink as they come along.

As for testing, Statefun does have unit tests and Gordon also sent me
instructions a while back for how to do some additional smoke tests which
are pretty straightforward. Perhaps he could weigh in on whether the
combination of automated tests plus those smoke tests should be sufficient
for testing with new Flink versions (I believe the answer is yes).

-- Galen



On Thu, Jun 8, 2023 at 8:01 AM Martijn Visser 
wrote:

> Hi all,
>
> Apologies for the late reply.
>
> I'm willing to help out with merging requests in Statefun to keep them
> compatible with new Flink releases and create new releases. I do think that
> validation of the functionality of these releases depends a lot on those
> who do these compatibility updates, with PMC members helping out with the
> formal process.
>
> > Why can't the Apache Software Foundation allow community members to bring
> it up to date?
>
> There's nothing preventing anyone from reviewing any of the current PRs or
> opening new ones. However, none of them are approved [1], so there's also
> nothing to merge.
>
> > I believe that there are people and companies on this mailing list
> interested in supporting Apache Flink Stateful Functions.
>
> If so, then now is the time to show.
>
> Would there be a preference to create a release with Galen's merged
> compatibility update to Flink 1.15.2, or do we want to skip that and go
> straight to a newer version?
>
> Best regards,
>
> Martijn
>
> [1]
>
> https://github.com/apache/flink-statefun/pulls?q=is%3Apr+is%3Aopen+review%3Aapproved
>
> On Tue, Jun 6, 2023 at 3:55 PM Marco Villalobos  >
> wrote:
>
> > Why can't the Apache Software Foundation allow community members to bring
> > it up to date?
> >
> > What's the process for that?
> >
> > I believe that there are people and companies on this mailing list
> > interested in supporting Apache Flink Stateful Functions.
> >
> > You already had two people on this thread express interest.
> >
> > At the very least, we could keep the library versions up to date.
> >
> > There are only a small list of new features that might be worthwhile:
> >
> > 1. event time processing
> > 2. state rest api
> >
> >
> > On Jun 6, 2023, at 3:06 AM, Chesnay Schepler  wrote:
> >
> > If you were to fork it *and want to redistribute it* then the short
> > version is that
> >
> >1. you have to adhere to the Apache licensing requirements
> >2. you have to make it clear that your fork does not belong to the
> >Apache Flink project. (Trademarks and all that)
> >
> > Neither should be significant hurdles (there should also be plenty of
> > online resources regarding 1), and if you do this then you can freely
> share
> > your fork with others.
> >
> > I've also pinged Martijn to take a look at this thread.
> > To my knowledge the project hasn't decided anything yet.
> >
> > On 27/05/2023 04:05, Galen Warren wrote:
> >
> > Ok, I get it. No interest.
> >
> > If this project is being abandoned, I guess I'll work with my own fork.
> Is
> > there anything I should consider here? Can I share it with other people
> who
> > use this project?
> >
> > On Tue, May 16, 2023 at 10:50 AM Galen Warren 
> 
> > wrote:
> >
> >
> > Hi Martijn, since you opened this discussion thread, I'm curious what
> your
> > thoughts are in light of the responses? Thanks.
> >
> > On Wed, Apr 19, 2023 at 1:21 PM Galen Warren  <
> ga...@cvillewarrens.com>
> > wrote:
> >
> >
> > I use Apache Flink for stream processing, and StateFun as a hand-off
> >
> > point for the rest of the application.
> > It serves well as a bridge between a Flink Streaming job and
> > micro-services.
> >
> > This is essentially how I use it as well, and I would also be sad to see
> > it sunsetted. It works well; I don't know that there is a lot of new
> > development required, but if there are no new Statefun releases, then
> > Statefun can only be used with older Flink versions.
> >
> > On Tue, Apr 18, 2023 at 10:04 PM Marco Villalobos <
> mvillalo...@kineteque.com> wrote:
> >
> >
> > I am currently using Stateful Functions in my application.
> >
> > I use Apache Flink for stream processing, and StateFun as a ha

Re: [DISCUSS] Status of Statefun Project

2023-06-06 Thread Galen Warren via user
Thanks for the information.

On Tue, Jun 6, 2023, 6:07 AM Chesnay Schepler  wrote:

> If you were to fork it /and want to redistribute it/ then the short
> version is that
>
>  1. you have to adhere to the Apache licensing requirements
>  2. you have to make it clear that your fork does not belong to the
> Apache Flink project. (Trademarks and all that)
>
> Neither should be significant hurdles (there should also be plenty of
> online resources regarding 1), and if you do this then you can freely
> share your fork with others.
>
> I've also pinged Martijn to take a look at this thread.
> To my knowledge the project hasn't decided anything yet.
>
> On 27/05/2023 04:05, Galen Warren wrote:
> > Ok, I get it. No interest.
> >
> > If this project is being abandoned, I guess I'll work with my own fork.
> Is
> > there anything I should consider here? Can I share it with other people
> who
> > use this project?
> >
> > On Tue, May 16, 2023 at 10:50 AM Galen Warren
> > wrote:
> >
> >> Hi Martijn, since you opened this discussion thread, I'm curious what
> your
> >> thoughts are in light of the responses? Thanks.
> >>
> >> On Wed, Apr 19, 2023 at 1:21 PM Galen Warren
> >> wrote:
> >>
> >>> I use Apache Flink for stream processing, and StateFun as a hand-off
> >>>> point for the rest of the application.
> >>>> It serves well as a bridge between a Flink Streaming job and
> >>>> micro-services.
> >>>
> >>> This is essentially how I use it as well, and I would also be sad to
> see
> >>> it sunsetted. It works well; I don't know that there is a lot of new
> >>> development required, but if there are no new Statefun releases, then
> >>> Statefun can only be used with older Flink versions.
> >>>
> >>> On Tue, Apr 18, 2023 at 10:04 PM Marco Villalobos <
> >>> mvillalo...@kineteque.com> wrote:
> >>>
> >>>> I am currently using Stateful Functions in my application.
> >>>>
> >>>> I use Apache Flink for stream processing, and StateFun as a hand-off
> >>>> point for the rest of the application.
> >>>> It serves well as a bridge between a Flink Streaming job and
> >>>> micro-services.
> >>>>
> >>>> I would be disappointed if StateFun was sunsetted.  Its a good idea.
> >>>>
> >>>> If there is anything I can do to help, as a contributor perhaps,
> please
> >>>> let me know.
> >>>>
> >>>>> On Apr 3, 2023, at 2:02 AM, Martijn Visser
> >>>> wrote:
> >>>>> Hi everyone,
> >>>>>
> >>>>> I want to open a discussion on the status of the Statefun Project [1]
> >>>> in Apache Flink. As you might have noticed, there hasn't been much
> >>>> development over the past months in the Statefun repository [2].
> There is
> >>>> currently a lack of active contributors and committers who are able
> to help
> >>>> with the maintenance of the project.
> >>>>> In order to improve the situation, we need to solve the lack of
> >>>> committers and the lack of contributors.
> >>>>> On the lack of committers:
> >>>>>
> >>>>> 1. Ideally, there are some of the current Flink committers who have
> >>>> the bandwidth and can help with reviewing PRs and merging them.
> >>>>> 2. If that's not an option, it could be a consideration that current
> >>>> committers only approve and review PRs, that are approved by those
> who are
> >>>> willing to contribute to Statefun and if the CI passes
> >>>>> On the lack of contributors:
> >>>>>
> >>>>> 3. Next to having this discussion on the Dev and User mailing list,
> we
> >>>> can also create a blog with a call for new contributors on the Flink
> >>>> project website, send out some tweets on the Flink / Statefun twitter
> >>>> accounts, post messages on Slack etc. In that message, we would
> inform how
> >>>> those that are interested in contributing can start and where they
> could
> >>>> reach out for more information.
> >>>>> There's also option 4. where a group of interested people would split
> >>>> Statefun from the Flink project and make it a separate top level
> project
> >>>> under the Apache Flink umbrella (similar as recently has happened with
> >>>> Flink Table Store, which has become Apache Paimon).
> >>>>> If we see no improvements in the coming period, we should consider
> >>>> sunsetting Statefun and communicate that clearly to the users.
> >>>>> I'm looking forward to your thoughts.
> >>>>>
> >>>>> Best regards,
> >>>>>
> >>>>> Martijn
> >>>>>
> >>>>> [1]https://nightlies.apache.org/flink/flink-statefun-docs-master/  <
> >>>> https://nightlies.apache.org/flink/flink-statefun-docs-master/>
> >>>>> [2]https://github.com/apache/flink-statefun  <
> >>>> https://github.com/apache/flink-statefun>
> >>>>
>


Re: [DISCUSS] Status of Statefun Project

2023-05-30 Thread Galen Warren via user
Getting to a resolution here would be great and much appreciated, yes.

On Sat, May 27, 2023 at 1:03 AM Salva Alcántara 
wrote:

> Hey Galen,
>
> I took a look at StateFun some time ago; not using it in production but I
> agree that it would be a pity to abandon it.
>
> As Martijn said, let's be clear on what lies ahead (what option is finally
> picked) and how to contribute (if possible) moving forward.
>
> Regards,
>
> Salva
>
> On Sat, May 27, 2023 at 4:05 AM Galen Warren via user <
> user@flink.apache.org> wrote:
>
>> Ok, I get it. No interest.
>>
>> If this project is being abandoned, I guess I'll work with my own fork.
>> Is there anything I should consider here? Can I share it with other people
>> who use this project?
>>
>> On Tue, May 16, 2023 at 10:50 AM Galen Warren 
>> wrote:
>>
>>> Hi Martijn, since you opened this discussion thread, I'm curious what
>>> your thoughts are in light of the responses? Thanks.
>>>
>>> On Wed, Apr 19, 2023 at 1:21 PM Galen Warren 
>>> wrote:
>>>
>>>> I use Apache Flink for stream processing, and StateFun as a hand-off
>>>>> point for the rest of the application.
>>>>> It serves well as a bridge between a Flink Streaming job and
>>>>> micro-services.
>>>>
>>>>
>>>> This is essentially how I use it as well, and I would also be sad to
>>>> see it sunsetted. It works well; I don't know that there is a lot of new
>>>> development required, but if there are no new Statefun releases, then
>>>> Statefun can only be used with older Flink versions.
>>>>
>>>> On Tue, Apr 18, 2023 at 10:04 PM Marco Villalobos <
>>>> mvillalo...@kineteque.com> wrote:
>>>>
>>>>> I am currently using Stateful Functions in my application.
>>>>>
>>>>> I use Apache Flink for stream processing, and StateFun as a hand-off
>>>>> point for the rest of the application.
>>>>> It serves well as a bridge between a Flink Streaming job and
>>>>> micro-services.
>>>>>
>>>>> I would be disappointed if StateFun was sunsetted.  Its a good idea.
>>>>>
>>>>> If there is anything I can do to help, as a contributor perhaps,
>>>>> please let me know.
>>>>>
>>>>> > On Apr 3, 2023, at 2:02 AM, Martijn Visser 
>>>>> wrote:
>>>>> >
>>>>> > Hi everyone,
>>>>> >
>>>>> > I want to open a discussion on the status of the Statefun Project
>>>>> [1] in Apache Flink. As you might have noticed, there hasn't been much
>>>>> development over the past months in the Statefun repository [2]. There is
>>>>> currently a lack of active contributors and committers who are able to 
>>>>> help
>>>>> with the maintenance of the project.
>>>>> >
>>>>> > In order to improve the situation, we need to solve the lack of
>>>>> committers and the lack of contributors.
>>>>> >
>>>>> > On the lack of committers:
>>>>> >
>>>>> > 1. Ideally, there are some of the current Flink committers who have
>>>>> the bandwidth and can help with reviewing PRs and merging them.
>>>>> > 2. If that's not an option, it could be a consideration that current
>>>>> committers only approve and review PRs, that are approved by those who are
>>>>> willing to contribute to Statefun and if the CI passes
>>>>> >
>>>>> > On the lack of contributors:
>>>>> >
>>>>> > 3. Next to having this discussion on the Dev and User mailing list,
>>>>> we can also create a blog with a call for new contributors on the Flink
>>>>> project website, send out some tweets on the Flink / Statefun twitter
>>>>> accounts, post messages on Slack etc. In that message, we would inform how
>>>>> those that are interested in contributing can start and where they could
>>>>> reach out for more information.
>>>>> >
>>>>> > There's also option 4. where a group of interested people would
>>>>> split Statefun from the Flink project and make it a separate top level
>>>>> project under the Apache Flink umbrella (similar as recently has happened
>>>>> with Flink Table Store, which has become Apache Paimon).
>>>>> >
>>>>> > If we see no improvements in the coming period, we should consider
>>>>> sunsetting Statefun and communicate that clearly to the users.
>>>>> >
>>>>> > I'm looking forward to your thoughts.
>>>>> >
>>>>> > Best regards,
>>>>> >
>>>>> > Martijn
>>>>> >
>>>>> > [1] https://nightlies.apache.org/flink/flink-statefun-docs-master/ <
>>>>> https://nightlies.apache.org/flink/flink-statefun-docs-master/>
>>>>> > [2] https://github.com/apache/flink-statefun <
>>>>> https://github.com/apache/flink-statefun>
>>>>>
>>>>


Re: [DISCUSS] Status of Statefun Project

2023-05-26 Thread Galen Warren via user
Ok, I get it. No interest.

If this project is being abandoned, I guess I'll work with my own fork. Is
there anything I should consider here? Can I share it with other people who
use this project?

On Tue, May 16, 2023 at 10:50 AM Galen Warren 
wrote:

> Hi Martijn, since you opened this discussion thread, I'm curious what your
> thoughts are in light of the responses? Thanks.
>
> On Wed, Apr 19, 2023 at 1:21 PM Galen Warren 
> wrote:
>
>> I use Apache Flink for stream processing, and StateFun as a hand-off
>>> point for the rest of the application.
>>> It serves well as a bridge between a Flink Streaming job and
>>> micro-services.
>>
>>
>> This is essentially how I use it as well, and I would also be sad to see
>> it sunsetted. It works well; I don't know that there is a lot of new
>> development required, but if there are no new Statefun releases, then
>> Statefun can only be used with older Flink versions.
>>
>> On Tue, Apr 18, 2023 at 10:04 PM Marco Villalobos <
>> mvillalo...@kineteque.com> wrote:
>>
>>> I am currently using Stateful Functions in my application.
>>>
>>> I use Apache Flink for stream processing, and StateFun as a hand-off
>>> point for the rest of the application.
>>> It serves well as a bridge between a Flink Streaming job and
>>> micro-services.
>>>
>>> I would be disappointed if StateFun was sunsetted.  Its a good idea.
>>>
>>> If there is anything I can do to help, as a contributor perhaps, please
>>> let me know.
>>>
>>> > On Apr 3, 2023, at 2:02 AM, Martijn Visser 
>>> wrote:
>>> >
>>> > Hi everyone,
>>> >
>>> > I want to open a discussion on the status of the Statefun Project [1]
>>> in Apache Flink. As you might have noticed, there hasn't been much
>>> development over the past months in the Statefun repository [2]. There is
>>> currently a lack of active contributors and committers who are able to help
>>> with the maintenance of the project.
>>> >
>>> > In order to improve the situation, we need to solve the lack of
>>> committers and the lack of contributors.
>>> >
>>> > On the lack of committers:
>>> >
>>> > 1. Ideally, there are some of the current Flink committers who have
>>> the bandwidth and can help with reviewing PRs and merging them.
>>> > 2. If that's not an option, it could be a consideration that current
>>> committers only approve and review PRs, that are approved by those who are
>>> willing to contribute to Statefun and if the CI passes
>>> >
>>> > On the lack of contributors:
>>> >
>>> > 3. Next to having this discussion on the Dev and User mailing list, we
>>> can also create a blog with a call for new contributors on the Flink
>>> project website, send out some tweets on the Flink / Statefun twitter
>>> accounts, post messages on Slack etc. In that message, we would inform how
>>> those that are interested in contributing can start and where they could
>>> reach out for more information.
>>> >
>>> > There's also option 4. where a group of interested people would split
>>> Statefun from the Flink project and make it a separate top level project
>>> under the Apache Flink umbrella (similar as recently has happened with
>>> Flink Table Store, which has become Apache Paimon).
>>> >
>>> > If we see no improvements in the coming period, we should consider
>>> sunsetting Statefun and communicate that clearly to the users.
>>> >
>>> > I'm looking forward to your thoughts.
>>> >
>>> > Best regards,
>>> >
>>> > Martijn
>>> >
>>> > [1] https://nightlies.apache.org/flink/flink-statefun-docs-master/ <
>>> https://nightlies.apache.org/flink/flink-statefun-docs-master/>
>>> > [2] https://github.com/apache/flink-statefun <
>>> https://github.com/apache/flink-statefun>
>>>
>>


Re: [DISCUSS] Status of Statefun Project

2023-05-16 Thread Galen Warren via user
Hi Martijn, since you opened this discussion thread, I'm curious what your
thoughts are in light of the responses? Thanks.

On Wed, Apr 19, 2023 at 1:21 PM Galen Warren 
wrote:

> I use Apache Flink for stream processing, and StateFun as a hand-off point
>> for the rest of the application.
>> It serves well as a bridge between a Flink Streaming job and
>> micro-services.
>
>
> This is essentially how I use it as well, and I would also be sad to see
> it sunsetted. It works well; I don't know that there is a lot of new
> development required, but if there are no new Statefun releases, then
> Statefun can only be used with older Flink versions.
>
> On Tue, Apr 18, 2023 at 10:04 PM Marco Villalobos <
> mvillalo...@kineteque.com> wrote:
>
>> I am currently using Stateful Functions in my application.
>>
>> I use Apache Flink for stream processing, and StateFun as a hand-off
>> point for the rest of the application.
>> It serves well as a bridge between a Flink Streaming job and
>> micro-services.
>>
>> I would be disappointed if StateFun was sunsetted.  Its a good idea.
>>
>> If there is anything I can do to help, as a contributor perhaps, please
>> let me know.
>>
>> > On Apr 3, 2023, at 2:02 AM, Martijn Visser 
>> wrote:
>> >
>> > Hi everyone,
>> >
>> > I want to open a discussion on the status of the Statefun Project [1]
>> in Apache Flink. As you might have noticed, there hasn't been much
>> development over the past months in the Statefun repository [2]. There is
>> currently a lack of active contributors and committers who are able to help
>> with the maintenance of the project.
>> >
>> > In order to improve the situation, we need to solve the lack of
>> committers and the lack of contributors.
>> >
>> > On the lack of committers:
>> >
>> > 1. Ideally, there are some of the current Flink committers who have the
>> bandwidth and can help with reviewing PRs and merging them.
>> > 2. If that's not an option, it could be a consideration that current
>> committers only approve and review PRs, that are approved by those who are
>> willing to contribute to Statefun and if the CI passes
>> >
>> > On the lack of contributors:
>> >
>> > 3. Next to having this discussion on the Dev and User mailing list, we
>> can also create a blog with a call for new contributors on the Flink
>> project website, send out some tweets on the Flink / Statefun twitter
>> accounts, post messages on Slack etc. In that message, we would inform how
>> those that are interested in contributing can start and where they could
>> reach out for more information.
>> >
>> > There's also option 4. where a group of interested people would split
>> Statefun from the Flink project and make it a separate top level project
>> under the Apache Flink umbrella (similar as recently has happened with
>> Flink Table Store, which has become Apache Paimon).
>> >
>> > If we see no improvements in the coming period, we should consider
>> sunsetting Statefun and communicate that clearly to the users.
>> >
>> > I'm looking forward to your thoughts.
>> >
>> > Best regards,
>> >
>> > Martijn
>> >
>> > [1] https://nightlies.apache.org/flink/flink-statefun-docs-master/ <
>> https://nightlies.apache.org/flink/flink-statefun-docs-master/>
>> > [2] https://github.com/apache/flink-statefun <
>> https://github.com/apache/flink-statefun>
>>
>


Re: [DISCUSS] Status of Statefun Project

2023-04-19 Thread Galen Warren via user
>
> I use Apache Flink for stream processing, and StateFun as a hand-off point
> for the rest of the application.
> It serves well as a bridge between a Flink Streaming job and
> micro-services.


This is essentially how I use it as well, and I would also be sad to see it
sunsetted. It works well; I don't know that there is a lot of new
development required, but if there are no new Statefun releases, then
Statefun can only be used with older Flink versions.

On Tue, Apr 18, 2023 at 10:04 PM Marco Villalobos 
wrote:

> I am currently using Stateful Functions in my application.
>
> I use Apache Flink for stream processing, and StateFun as a hand-off point
> for the rest of the application.
> It serves well as a bridge between a Flink Streaming job and
> micro-services.
>
> I would be disappointed if StateFun was sunsetted.  Its a good idea.
>
> If there is anything I can do to help, as a contributor perhaps, please
> let me know.
>
> > On Apr 3, 2023, at 2:02 AM, Martijn Visser 
> wrote:
> >
> > Hi everyone,
> >
> > I want to open a discussion on the status of the Statefun Project [1] in
> Apache Flink. As you might have noticed, there hasn't been much development
> over the past months in the Statefun repository [2]. There is currently a
> lack of active contributors and committers who are able to help with the
> maintenance of the project.
> >
> > In order to improve the situation, we need to solve the lack of
> committers and the lack of contributors.
> >
> > On the lack of committers:
> >
> > 1. Ideally, there are some of the current Flink committers who have the
> bandwidth and can help with reviewing PRs and merging them.
> > 2. If that's not an option, it could be a consideration that current
> committers only approve and review PRs, that are approved by those who are
> willing to contribute to Statefun and if the CI passes
> >
> > On the lack of contributors:
> >
> > 3. Next to having this discussion on the Dev and User mailing list, we
> can also create a blog with a call for new contributors on the Flink
> project website, send out some tweets on the Flink / Statefun twitter
> accounts, post messages on Slack etc. In that message, we would inform how
> those that are interested in contributing can start and where they could
> reach out for more information.
> >
> > There's also option 4. where a group of interested people would split
> Statefun from the Flink project and make it a separate top level project
> under the Apache Flink umbrella (similar as recently has happened with
> Flink Table Store, which has become Apache Paimon).
> >
> > If we see no improvements in the coming period, we should consider
> sunsetting Statefun and communicate that clearly to the users.
> >
> > I'm looking forward to your thoughts.
> >
> > Best regards,
> >
> > Martijn
> >
> > [1] https://nightlies.apache.org/flink/flink-statefun-docs-master/ <
> https://nightlies.apache.org/flink/flink-statefun-docs-master/>
> > [2] https://github.com/apache/flink-statefun <
> https://github.com/apache/flink-statefun>
>


Re: [DISCUSS] Status of Statefun Project

2023-04-17 Thread Galen Warren via user
Are there any next steps here?

On Mon, Apr 3, 2023, 12:46 PM Galen Warren  wrote:

> Thanks for bringing this up.
>
> I'm currently using Statefun, and I've made a few small code contributions
> over time. All of my PRs have been merged into master and most have been
> released, but a few haven't been part of a release yet. Most recently, I
> helped upgrade Statefun to be compatible with Flink 1.15.2, which was
> merged last October but hasn't been released. (And, of course, there have
> been more Flink releases since then.)
>
> IMO, the main thing driving the need for ongoing Statefun releases -- even
> in the absence of any new feature development -- is that there is typically
> a bit of work to do to make Statefun compatible with each new Flink
> release. This usually involves updating dependency versions and sometimes
> some simple code changes, a common example being adapting to changes in
> Flink config parameters that have changed from, say, delimited strings to
> arrays.
>
> I'd be happy to continue to make the necessary changes to Statefun to be
> compatible with each new Flink release, but I don't have the committer
> rights that would allow me to release the code.
>
>
>
>
>
> On Mon, Apr 3, 2023 at 5:02 AM Martijn Visser 
> wrote:
>
>> Hi everyone,
>>
>> I want to open a discussion on the status of the Statefun Project [1] in
>> Apache Flink. As you might have noticed, there hasn't been much
>> development
>> over the past months in the Statefun repository [2]. There is currently a
>> lack of active contributors and committers who are able to help with the
>> maintenance of the project.
>>
>> In order to improve the situation, we need to solve the lack of committers
>> and the lack of contributors.
>>
>> On the lack of committers:
>>
>> 1. Ideally, there are some of the current Flink committers who have the
>> bandwidth and can help with reviewing PRs and merging them.
>> 2. If that's not an option, it could be a consideration that current
>> committers only approve and review PRs, that are approved by those who are
>> willing to contribute to Statefun and if the CI passes
>>
>> On the lack of contributors:
>>
>> 3. Next to having this discussion on the Dev and User mailing list, we can
>> also create a blog with a call for new contributors on the Flink project
>> website, send out some tweets on the Flink / Statefun twitter accounts,
>> post messages on Slack etc. In that message, we would inform how those
>> that
>> are interested in contributing can start and where they could reach out
>> for
>> more information.
>>
>> There's also option 4. where a group of interested people would split
>> Statefun from the Flink project and make it a separate top level project
>> under the Apache Flink umbrella (similar as recently has happened with
>> Flink Table Store, which has become Apache Paimon).
>>
>> If we see no improvements in the coming period, we should consider
>> sunsetting Statefun and communicate that clearly to the users.
>>
>> I'm looking forward to your thoughts.
>>
>> Best regards,
>>
>> Martijn
>>
>> [1] https://nightlies.apache.org/flink/flink-statefun-docs-master/
>> [2] https://github.com/apache/flink-statefun
>>
>


Re: [DISCUSS] Status of Statefun Project

2023-04-03 Thread Galen Warren via user
Thanks for bringing this up.

I'm currently using Statefun, and I've made a few small code contributions
over time. All of my PRs have been merged into master and most have been
released, but a few haven't been part of a release yet. Most recently, I
helped upgrade Statefun to be compatible with Flink 1.15.2, which was
merged last October but hasn't been released. (And, of course, there have
been more Flink releases since then.)

IMO, the main thing driving the need for ongoing Statefun releases -- even
in the absence of any new feature development -- is that there is typically
a bit of work to do to make Statefun compatible with each new Flink
release. This usually involves updating dependency versions and sometimes
some simple code changes, a common example being adapting to changes in
Flink config parameters that have changed from, say, delimited strings to
arrays.

I'd be happy to continue to make the necessary changes to Statefun to be
compatible with each new Flink release, but I don't have the committer
rights that would allow me to release the code.





On Mon, Apr 3, 2023 at 5:02 AM Martijn Visser 
wrote:

> Hi everyone,
>
> I want to open a discussion on the status of the Statefun Project [1] in
> Apache Flink. As you might have noticed, there hasn't been much development
> over the past months in the Statefun repository [2]. There is currently a
> lack of active contributors and committers who are able to help with the
> maintenance of the project.
>
> In order to improve the situation, we need to solve the lack of committers
> and the lack of contributors.
>
> On the lack of committers:
>
> 1. Ideally, there are some of the current Flink committers who have the
> bandwidth and can help with reviewing PRs and merging them.
> 2. If that's not an option, it could be a consideration that current
> committers only approve and review PRs, that are approved by those who are
> willing to contribute to Statefun and if the CI passes
>
> On the lack of contributors:
>
> 3. Next to having this discussion on the Dev and User mailing list, we can
> also create a blog with a call for new contributors on the Flink project
> website, send out some tweets on the Flink / Statefun twitter accounts,
> post messages on Slack etc. In that message, we would inform how those that
> are interested in contributing can start and where they could reach out for
> more information.
>
> There's also option 4. where a group of interested people would split
> Statefun from the Flink project and make it a separate top level project
> under the Apache Flink umbrella (similar as recently has happened with
> Flink Table Store, which has become Apache Paimon).
>
> If we see no improvements in the coming period, we should consider
> sunsetting Statefun and communicate that clearly to the users.
>
> I'm looking forward to your thoughts.
>
> Best regards,
>
> Martijn
>
> [1] https://nightlies.apache.org/flink/flink-statefun-docs-master/
> [2] https://github.com/apache/flink-statefun
>


Re: question about Async IO

2022-11-02 Thread Galen Warren
Thanks, that makes sense and matches my understanding of how it works.

In my case, I don't actually need access to keyed *state*; I just want to
make sure that all elements with the same key are routed to the same
instance of the async function. (Without going into too much detail, the
reason for this is that I want to invoke async operations for the same key
in sequence, i.e. not have two in-flight async operations for the same key
at the same time. I can accomplish this with a local map of in-flight async
operations, in the function, so long as all inputs with the same keys get
routed to the same instance of the function.)

So far as I can tell, if I create a keyed stream and then use it as an
input to an async function, the keys will be distributed across the async
function instances the way I want, even if keyed state is inaccessible.
Anyway, that's what I'm looking to confirm.

On Wed, Nov 2, 2022 at 5:14 AM Filip Karnicki 
wrote:

> Hi Galen
>
> I was thinking about the same thing recently and reached a point where I
> see that async io does not have access to the keyed state because:
>
> "* State related apis in
> [[org.apache.flink.api.common.functions.RuntimeContext]] are not supported
>  * yet because the key may get changed while accessing states in the
> working thread."
>
> I don't think that the key can change at any random time here, because of
>
> "A common confusion that we want to explicitly point out here is that the
> AsyncFunction is not called in a multi-threaded fashion. There exists only
> one instance of the AsyncFunction and it is called sequentially for each
> record in the respective partition of the stream"
> From:
> https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/operators/asyncio/
>
> So if the RichAsyncFunctionRuntimeContext had access to a
> KeyedStateBackend and since it's basically a facade on top of
> RuntimeContext. we could (maybe) change the method signature for something
> like getState to include the key, and run
> keyedStateBackend.setCurrentKey(key) before continuing with anything else.
>
>
> Anyone - please stop me if I'm talking nonsense
>
>
> On Fri, 14 Oct 2022 at 21:36, Krzysztof Chmielewski <
> krzysiek.chmielew...@gmail.com> wrote:
>
>> Hi Galen,
>> i will tell from my experience as a Flink user and developer of Flink
>> jobs.
>>
>>
>>
>> *"if the input to an AsyncFunction is a keyed stream, can I assume that
>> all input elements with the same key will be handled by the same instance
>> of the async operator"*
>> From what I know (and someone can correct me if I'm wrong) this is
>> possible. However you have to make sure that there is no Re-balance or
>> re-shuffle between those operators. For example operators after first
>> .keyBy(..) call must have same parallelism level.
>>
>> Regarding:
>> " I have a situation where I would like to enforce that async operations
>> associated with a particular key happen sequentially,"
>>
>> This is also possible as far as I know. In fact I was implementing
>> streaming pipeline with similar requirements like
>> *"maintaining order of events withing keyBy group across multiple
>> operators including Async operators". *
>> We achieved that with same thing -> making sure that all operators in
>> entire pipeline except Source and Sink had exact same parallelism level.
>> Additional thing to remember here is that if you call .keyBy(...) again
>> but with different key extractor, then original order might not be
>> preserved since keyBy will execute re-shuffle/re-balance.
>>
>> We were also using reinterpretAsKeyedStream feature [1] after async
>> operators to avoid calling ".keyBay" multiple times in pipeline. Calling
>> .keyBy always has negative impact on performance.
>> With reinterpretAsKeyedStream we were able to use keyed operators with
>> access to keyed state after Async operators.
>>
>> Hope that helped.
>>
>> [1]
>> https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/dev/datastream/experimental/
>>
>> Regards,
>> Krzysztof Chmielewski
>>
>>
>>
>>
>>
>>
>>
>> pt., 14 paź 2022 o 19:11 Galen Warren 
>> napisał(a):
>>
>>> I have a question about Flink's Async IO support: Async I/O | Apache
>>> Flink
>>> <https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/operators/asyncio/>
>>> .
>>>
>>> I understand that access to state is not supported in an AsyncFunction.
>>> However, if the input to an AsyncFunction is a keyed strea

question about Async IO

2022-10-14 Thread Galen Warren
I have a question about Flink's Async IO support: Async I/O | Apache Flink

.

I understand that access to state is not supported in an AsyncFunction.
However, if the input to an AsyncFunction is a keyed stream, can I assume
that all input elements with the same key will be handled by the same
instance of the async operator, as would normally be the case with keyed
streams/operators?

I'm asking because I have a situation where I would like to enforce that
async operations associated with a particular key happen sequentially, i.e.
if two elements come through with the same key, I need  the async operation
for the second to happen after the async operation for the first one
completes. I think I can achieve this using a local map of "in flight"
async operations in the operator itself, but only if I can rely on all
input elements with the same key being processed by the same async operator.

If anyone can confirm how this works, I'd appreciate it. Thanks.


question about Statefun/Flink version compatibility

2022-01-09 Thread Galen Warren
The statefun project currently references Flink 1.13.2. Is 1.13.2 the
*minimum *Flink version required, i.e. would Statefun be expected to work
with Flink 1.14.2 or whatever the latest released version is, as well? Or
is it important to use exactly version 1.13.2 of Flink? Thanks.