Hi Le, Looking at your pom.xml, you are pointing to the wrong main method here: https://github.com/flint-stone/flink-statefun/blob/lx-base/statefun-examples/statefun-flink-datastream-example/pom.xml#L161
You need to change it to your Example class, this should work. On Tue, Dec 29, 2020 at 5:06 AM Le Xu <sharonx...@gmail.com> wrote: > Hi Igal: > > Thanks for pointing that out. I was able to add the dependency in and > submit the job. For statefun-greeter example [1] I was able to submit the > job to the cluster . But when I try out the statefun-data-stream example > [2] I got the complaints saying that "There are no ingress defined" (I'm > adding the full trace to the end of the email). (I'm also adding my pom to > [3] and source file to [4].) From the example it appears the job uses the > Datastream as ingress [5] so ideally the job should be able to receive > events as trigger periodically (the job works fine with local environment). > I also came across this issue [6] but I don't think it helps solving my > problem. By any chance you'd know what's going on? > > > [1] > https://github.com/apache/flink-statefun/tree/master/statefun-examples/statefun-greeter-example > [2] > https://github.com/flint-stone/flink-statefun/blob/3aba506242300d69e95ef339afeac8e561dc7a2d/statefun-examples/statefun-flink-datastream-example/src/main/java/org/apache/flink/statefun/examples/datastream/Example.java#L82 > [3] > https://github.com/flint-stone/flink-statefun/blob/lx-base/statefun-examples/statefun-flink-datastream-example/pom.xml > [4] > https://github.com/flint-stone/flink-statefun/blob/lx-base/statefun-examples/statefun-flink-datastream-example/src/main/java/org/apache/flink/statefun/examples/datastream/Example.java > [5] > https://github.com/flint-stone/flink-statefun/blob/3aba506242300d69e95ef339afeac8e561dc7a2d/statefun-examples/statefun-flink-datastream-example/src/main/java/org/apache/flink/statefun/examples/datastream/Example.java#L82 > [6] > https://stackoverflow.com/questions/61578082/flink-statefun-co-located-functions-communication > > Error Trace: > The program finished with the following exception: > > org.apache.flink.client.program.ProgramInvocationException: The main > method caused an error: There are no ingress defined. > at > org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:302) > at > org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:198) > at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:149) > at > org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:699) > at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:232) > at > org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:916) > at > org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:992) > at > org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30) > at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:992) > Caused by: java.lang.IllegalStateException: There are no ingress defined. > at > org.apache.flink.statefun.flink.core.StatefulFunctionsUniverseValidator.validate(StatefulFunctionsUniverseValidator.java:25) > at > org.apache.flink.statefun.flink.core.StatefulFunctionsJob.main(StatefulFunctionsJob.java:76) > at > org.apache.flink.statefun.flink.core.StatefulFunctionsJob.main(StatefulFunctionsJob.java:52) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:288) > ... 8 more > > > Thanks for the help! > > Le > > > On Mon, Dec 28, 2020 at 6:24 AM Igal Shilman <i...@ververica.com> wrote: > >> Hi Le, >> Indeed you have added the dependency correctly. But the resulting >> artifact doesn't contain the dependencies. You need to create a jar with >> dependencies ( via [1] or [2]) >> Take a look at [3] for a usage example of the maven shade plugin. >> >> I hope this helps, >> Igal. >> >> [1] https://maven.apache.org/plugins/maven-assembly-plugin/usage.html >> [2] https://maven.apache.org/plugins/maven-shade-plugin/ >> [3] >> https://github.com/apache/flink-statefun/blob/master/statefun-flink/statefun-flink-distribution/pom.xml#L126,L199 >> >> On Sat, Dec 26, 2020 at 11:52 PM Le Xu <sharonx...@gmail.com> wrote: >> >>> Thanks Igal! I might be missing something here. I did place >>> statefun-flink-distribution as part of my dependency in the pom (see >>> line 46 at [1]). Is there a correct way to include the jar? I'm having the >>> same problem across many examples I'm running. >>> >>> [1] >>> https://gist.github.com/flint-stone/059f00832d8b99af433a446771f4f740#file-pom-xml-L64 >>> >>> Thanks! >>> >>> Le >>> >>> On Sat, Dec 26, 2020 at 2:23 PM Igal Shilman <i...@ververica.com> wrote: >>> >>>> Hello :-) >>>> >>>> It seems like in your attached pom you are not bundling the >>>> dependencies. Check out the docs here [1]. >>>> >>>> >>>> [1] >>>> https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.2/deployment-and-operations/packaging.html#flink-jar >>>> >>>> >>>> On Wed, Dec 23, 2020 at 3:07 AM Le Xu <sharonx...@gmail.com> wrote: >>>> >>>>> Hello! >>>>> I'm trying to deploy a Flink stateful function as a flink jar and I >>>>> followed the instruction here >>>>> <https://github.com/apache/flink-statefun>. However I'm getting the >>>>> error saying that the program entry point class was not found in the jar >>>>> even after I added the dependency in my pom. >>>>> >>>>> Running: >>>>> >>>>> bin/flink run -c >>>>> org.apache.flink.statefun.flink.core.StatefulFunctionsJob >>>>> flink-statefun/statefun-examples/statefun-greeter-example/target/statefun-greeter-example-2.3-SNAPSHOT.jar >>>>> >>>>> Producing the following error: >>>>> >>>>> org.apache.flink.client.program.ProgramInvocationException: The program's >>>>> entry point class >>>>> 'org.apache.flink.statefun.flink.core.StatefulFunctionsJob' was not found >>>>> in the jar file. >>>>> at >>>>> org.apache.flink.client.program.PackagedProgram.loadMainClass(PackagedProgram.java:389) >>>>> at >>>>> org.apache.flink.client.program.PackagedProgram.<init>(PackagedProgram.java:139) >>>>> at >>>>> org.apache.flink.client.program.PackagedProgram.<init>(PackagedProgram.java:61) >>>>> at >>>>> org.apache.flink.client.program.PackagedProgram$Builder.build(PackagedProgram.java:557) >>>>> at >>>>> org.apache.flink.client.cli.CliFrontend.buildProgram(CliFrontend.java:726) >>>>> at >>>>> org.apache.flink.client.cli.CliFrontend.getPackagedProgram(CliFrontend.java:242) >>>>> at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:223) >>>>> at >>>>> org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:916) >>>>> at >>>>> org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:992) >>>>> at >>>>> org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30) >>>>> at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:992) >>>>> Caused by: java.lang.ClassNotFoundException: >>>>> org.apache.flink.statefun.flink.core.StatefulFunctionsJob >>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:382) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:418) >>>>> at >>>>> org.apache.flink.util.FlinkUserCodeClassLoader.loadClassWithoutExceptionHandling(FlinkUserCodeClassLoader.java:61) >>>>> at >>>>> org.apache.flink.util.ChildFirstClassLoader.loadClassWithoutExceptionHandling(ChildFirstClassLoader.java:65) >>>>> at >>>>> org.apache.flink.util.FlinkUserCodeClassLoader.loadClass(FlinkUserCodeClassLoader.java:48) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:351) >>>>> at java.lang.Class.forName0(Native Method) >>>>> at java.lang.Class.forName(Class.java:348) >>>>> at >>>>> org.apache.flink.client.program.PackagedProgram.loadMainClass(PackagedProgram.java:387) >>>>> ... 10 more >>>>> Here is my modified pom.xml >>>>> <https://gist.github.com/flint-stone/059f00832d8b99af433a446771f4f740>. >>>>> The original version of the pom file can be found here here >>>>> <https://github.com/apache/flink-statefun/blob/master/statefun-examples/statefun-greeter-example/pom.xml>. >>>>> It seems that adding the extra dependency of statefun-flink-distribution >>>>> has no effect. Any suggestions? >>>>> >>>>> Thanks! >>>>> >>>>> Le >>>>> >>>>> >>>>> >>>>>