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

Reply via email to