Hi, It seems like you are trying to package your Stateful Functions app as a Flink job, and submit that to an existing cluster.
If that indeed is the case, Stateful Functions apps have some required confogurations that need to be set via the flink-conf.yaml file for your existing cluster. Please see the bottom half of [1] for more details. Cheers, Gordon [1] https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/deployment-and-operations/packaging.html#flink-jar On Sat, May 23, 2020, 9:55 PM C DINESH <dinesh.kitt...@gmail.com> wrote: > Hi Team, > > I am writing my first stateful fun basic hello application. I am getting > the following Exception. > > $ ./bin/flink run -c > org.apache.flink.statefun.flink.core.StatefulFunctionsJob > ./stateful-sun-hello-java-1.0-SNAPSHOT-jar-with-dependencies.jar > > > > ------------------------------------------------------------ > > The program finished with the following exception: > > > org.apache.flink.client.program.ProgramInvocationException: The main > method caused an error: Invalid configuration: > classloader.parent-first-patterns.additional; Must contain all of > org.apache.flink.statefun, org.apache.kafka, com.google.protobuf > > at > org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:335) > > at > org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:205) > > at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:138) > > at > org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:662) > > at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:210) > > at > org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:893) > > at > org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:966) > > at > org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30) > > at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:966) > > Caused by: > org.apache.flink.statefun.flink.core.exceptions.StatefulFunctionsInvalidConfigException: > Invalid configuration: classloader.parent-first-patterns.additional; Must > contain all of org.apache.flink.statefun, org.apache.kafka, > com.google.protobuf > > at > org.apache.flink.statefun.flink.core.StatefulFunctionsConfigValidator.validateParentFirstClassloaderPatterns(StatefulFunctionsConfigValidator.java:55) > > at > org.apache.flink.statefun.flink.core.StatefulFunctionsConfigValidator.validate(StatefulFunctionsConfigValidator.java:44) > > at > org.apache.flink.statefun.flink.core.StatefulFunctionsConfig.<init>(StatefulFunctionsConfig.java:143) > > at > org.apache.flink.statefun.flink.core.StatefulFunctionsConfig.fromEnvironment(StatefulFunctionsConfig.java:105) > > This is my POM file I hope I have added all the dependencies. Please > suggest me what to do. > > <?xml version="1.0" encoding="UTF-8"?> > <project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd"> > <modelVersion>4.0.0</modelVersion> > > <groupId>org.example</groupId> > <artifactId>stateful-sun-hello-java</artifactId> > <version>1.0-SNAPSHOT</version> > > <dependencies> > <dependency> > <groupId>com.google.protobuf</groupId> > <artifactId>protobuf-java</artifactId> > <version>3.6.1</version> > </dependency> > <dependency> > <groupId>org.apache.flink</groupId> > <artifactId>statefun-sdk</artifactId> > <version>2.0.0</version> > </dependency> > <dependency> > <groupId>org.apache.flink</groupId> > <artifactId>statefun-flink-distribution</artifactId> > <version>2.0.0</version> > </dependency> > <dependency> > <groupId>org.apache.flink</groupId> > <artifactId>statefun-kafka-io</artifactId> > <version>2.0.0</version> > </dependency> > </dependencies> > > > > <build> > <defaultGoal>clean generate-sources compile install</defaultGoal> > > <plugins> > <!-- compile proto file into java files. --> > <plugin> > <groupId>com.github.os72</groupId> > <artifactId>protoc-jar-maven-plugin</artifactId> > <version>3.6.0.1</version> > <executions> > <execution> > <phase>generate-sources</phase> > <goals> > <goal>run</goal> > </goals> > <configuration> > <includeMavenTypes>direct</includeMavenTypes> > > <inputDirectories> > <include>src/main/protobuf</include> > </inputDirectories> > > <outputTargets> > <outputTarget> > <type>java</type> > > <outputDirectory>src/main/java</outputDirectory> > </outputTarget> > <outputTarget> > <type>grpc-java</type> > > <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.15.0</pluginArtifact> > > <outputDirectory>src/main/java</outputDirectory> > </outputTarget> > </outputTargets> > </configuration> > </execution> > </executions> > </plugin> > > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-assembly-plugin</artifactId> > <version>2.4.1</version> > <configuration> > <!-- get all project dependencies --> > <descriptorRefs> > <descriptorRef>jar-with-dependencies</descriptorRef> > </descriptorRefs> > <!-- MainClass in mainfest make a executable jar --> > <archive> > <manifest> > > <mainClass>org.apache.flink.statefun.flink.core.StatefulFunctionsJob</mainClass> > </manifest> > </archive> > > </configuration> > <executions> > <execution> > <id>make-assembly</id> > <!-- bind to the packaging phase --> > <phase>package</phase> > <goals> > <goal>single</goal> > </goals> > </execution> > </executions> > </plugin> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-compiler-plugin</artifactId> > <version>3.8.0</version> > <configuration> > <source>1.8</source> > <target>1.8</target> > </configuration> > </plugin> > </plugins> > </build> > > </project> > > > Thanks, > Dinesh > > >