Hi Kant,

You shouldn't compile `flink-table-planner` or `flink-table-planner-blink`
into your user jar. They have been provided by Flink cluster.

Best,
Jark

On Fri, 28 Feb 2020 at 15:28, kant kodali <kanth...@gmail.com> wrote:

> Here is my build.gradle and I am not sure which jar uses
> org.codehaus.commons.compiler.ICompilerFactory
>
> buildscript {
>     repositories {
>         jcenter() // this applies only to the Gradle 'Shadow' plugin
>     }
>     dependencies {
>         classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4'
>     }
> }
>
> plugins {
>     id 'java'
>     id 'application'
> }
>
> mainClassName = 'Test'
> apply plugin: 'com.github.johnrengelman.shadow'
>
> // artifact properties
> /*group = 'org.myorg.quickstart'
> version = '0.1'*/
> description = """Flink Quickstart Job"""
>
> ext {
>     javaVersion = '1.8'
>     flinkVersion = '1.10.0'
>     scalaBinaryVersion = '2.11'
>     slf4jVersion = '1.7.7'
>     log4jVersion = '1.2.17'
> }
>
>
> sourceCompatibility = javaVersion
> targetCompatibility = javaVersion
> tasks.withType(JavaCompile) {
>     options.encoding = 'UTF-8'
> }
>
> applicationDefaultJvmArgs = ["-Dlog4j.configuration=log4j.properties"]
>
> // declare where to find the dependencies of your project
> repositories {
>     mavenCentral()
>     maven { url 
> "https://repository.apache.org/content/repositories/snapshots/"; }
> }
>
> // NOTE: We cannot use "compileOnly" or "shadow" configurations since then we 
> could not run code
> // in the IDE or with "gradle run". We also cannot exclude transitive 
> dependencies from the
> // shadowJar yet (see https://github.com/johnrengelman/shadow/issues/159).
> // -> Explicitly define the // libraries we want to be included in the 
> "flinkShadowJar" configuration!
>
> configurations {
>     flinkShadowJar // dependencies which go into the shadowJar
>
>     // always exclude these (also from transitive dependencies) since they 
> are provided by Flink
>     flinkShadowJar.exclude group: 'org.apache.flink', module: 'force-shading'
>     flinkShadowJar.exclude group: 'com.google.code.findbugs', module: 'jsr305'
>     flinkShadowJar.exclude group: 'org.slf4j'
>     flinkShadowJar.exclude group: 'log4j'
> }
>
> // declare the dependencies for your production and test code
> dependencies {
>     // --------------------------------------------------------------
>     // Compile-time dependencies that should NOT be part of the
>     // shadow jar and are provided in the lib folder of Flink
>     // --------------------------------------------------------------
>     compile "org.apache.flink:flink-java:${flinkVersion}"
>     compile 
> "org.apache.flink:flink-streaming-java_${scalaBinaryVersion}:${flinkVersion}"
>
>     flinkShadowJar 
> "org.apache.flink:flink-connector-kafka_2.11:${flinkVersion}"
>     flinkShadowJar "org.apache.flink:flink-table-api-java:${flinkVersion}"
>     flinkShadowJar 
> "org.apache.flink:flink-table-planner-blink_2.11:${flinkVersion}"
>     flinkShadowJar 
> "org.apache.flink:flink-streaming-scala_2.11:${flinkVersion}"
>     flinkShadowJar 
> "org.apache.flink:flink-statebackend-rocksdb_2.11:${flinkVersion}"
>
>     // --------------------------------------------------------------
>     // Dependencies that should be part of the shadow jar, e.g.
>     // connectors. These must be in the flinkShadowJar configuration!
>     // --------------------------------------------------------------
>     //flinkShadowJar 
> "org.apache.flink:flink-connector-kafka-0.11_${scalaBinaryVersion}:${flinkVersion}"
>
>     compile "log4j:log4j:${log4jVersion}"
>     compile "org.slf4j:slf4j-log4j12:${slf4jVersion}"
>
>     // Add test dependencies here.
>     // testCompile "junit:junit:4.12"
> }
>
> // make compileOnly dependencies available for tests:
> sourceSets {
>     main.compileClasspath += configurations.flinkShadowJar
>     main.runtimeClasspath += configurations.flinkShadowJar
>
>     test.compileClasspath += configurations.flinkShadowJar
>     test.runtimeClasspath += configurations.flinkShadowJar
>
>     javadoc.classpath += configurations.flinkShadowJar
> }
>
> run.classpath = sourceSets.main.runtimeClasspath
>
> jar {
>     manifest {
>         attributes 'Built-By': System.getProperty('user.name'),
>                 'Build-Jdk': System.getProperty('java.version')
>     }
> }
>
> shadowJar {
>     configurations = [project.configurations.flinkShadowJar]
> }
>
>
> On Thu, Feb 27, 2020 at 10:31 PM Jingsong Li <jingsongl...@gmail.com>
> wrote:
>
>> Hi kant,
>>
>> As Jark said,
>> Your user jar should not contains "
>> org.codehaus.commons.compiler.ICompilerFactory" dependencies. This will
>> make calcite can not work.
>>
>> In 1.10, have made Flink client respect classloading policy that default
>> policy is child first [1]. More details can find in [2].
>>
>> [1]
>> https://ci.apache.org/projects/flink/flink-docs-release-1.10/release-notes/flink-1.10.html#flink-client-respects-classloading-policy-flink-13749
>> [2] https://issues.apache.org/jira/browse/FLINK-13749
>>
>> Best,
>> Jingsong Lee
>>
>> On Fri, Feb 28, 2020 at 11:19 AM Jark Wu <imj...@gmail.com> wrote:
>>
>>> Hi Kant,
>>>
>>> Are you depending a custom janino or something like hive-exec in your
>>> pom.xml?
>>>
>>> Best,
>>> Jark
>>>
>>> On Fri, 28 Feb 2020 at 10:13, kant kodali <kanth...@gmail.com> wrote:
>>>
>>>> It works within IDE but not when I submit using command using flink run
>>>> myApp.jar
>>>>
>>>>
>>>>
>>>> On Thu, Feb 27, 2020 at 3:32 PM kant kodali <kanth...@gmail.com> wrote:
>>>>
>>>>> Below is the sample code using Flink 1.10
>>>>>
>>>>> public class Test {
>>>>>
>>>>>     public static void main(String... args) throws Exception {
>>>>>
>>>>>         EnvironmentSettings bsSettings = 
>>>>> EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build();
>>>>>         final StreamExecutionEnvironment env = 
>>>>> StreamExecutionEnvironment.getExecutionEnvironment();
>>>>>         env.setStateBackend((StateBackend) new 
>>>>> RocksDBStateBackend("file:///tmp"));
>>>>>
>>>>>
>>>>>         StreamTableEnvironment bsTableEnv = 
>>>>> StreamTableEnvironment.create(env, bsSettings);
>>>>>
>>>>>         Properties properties = new Properties();
>>>>>         properties.setProperty("bootstrap.servers", "localhost:9092");
>>>>>         properties.setProperty("group.id", "test");
>>>>>
>>>>>         FlinkKafkaConsumer<String> consumer1 = new FlinkKafkaConsumer<>(
>>>>>                 java.util.regex.Pattern.compile("test-topic1"),
>>>>>                 new SimpleStringSchema(),
>>>>>                 properties);
>>>>>
>>>>>         FlinkKafkaConsumer<String> consumer2 = new FlinkKafkaConsumer<>(
>>>>>                 java.util.regex.Pattern.compile("test-topic2"),
>>>>>                 new SimpleStringSchema(),
>>>>>                 properties);
>>>>>
>>>>>         DataStream<String> stream1 = env.addSource(consumer1);
>>>>>         DataStream<String> stream2 = env.addSource(consumer2);
>>>>>
>>>>>         bsTableEnv.createTemporaryView("sample1", stream1);
>>>>>         bsTableEnv.createTemporaryView("sample2", stream2);
>>>>>
>>>>>         Table result = bsTableEnv.sqlQuery("SELECT * FROM sample1 INNER 
>>>>> JOIN sample2 on sample1.f0=sample2.f0");
>>>>>         result.printSchema();
>>>>>
>>>>>
>>>>>         bsTableEnv.toRetractStream(result, Row.class).print();
>>>>>         bsTableEnv.execute("sample job");
>>>>>     }
>>>>> }
>>>>>
>>>>>
>>>>> On Thu, Feb 27, 2020 at 3:22 PM kant kodali <kanth...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Fixed the typo.
>>>>>>
>>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>>
>>>>>> My sample program works in Flink 1.9 but in 1.10 I get the following
>>>>>> error when I am submitting the job. otherwords it fails to submit a job.
>>>>>> any idea?
>>>>>>
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>> On Thu, Feb 27, 2020 at 2:19 PM kant kodali <kanth...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi All,
>>>>>>>
>>>>>>>
>>>>>>> My sample program works in Flink 1.9 but in 1.0 I get the following
>>>>>>> error when I am submitting the job. otherwords it fails to submit a job.
>>>>>>> any idea?
>>>>>>>
>>>>>>>
>>>>>>> Thanks!
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.flink.client.program.ProgramInvocationException: The main
>>>>>>> method caused an error: Unable to instantiate java compiler
>>>>>>>
>>>>>>> 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:664)
>>>>>>>
>>>>>>> at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:213)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:895)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:968)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
>>>>>>>
>>>>>>> at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:968)
>>>>>>>
>>>>>>> Caused by: java.lang.IllegalStateException: Unable to instantiate
>>>>>>> java compiler
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.compile(JaninoRelMetadataProvider.java:434)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.load3(JaninoRelMetadataProvider.java:375)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.lambda$static$0(JaninoRelMetadataProvider.java:109)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.calcite.shaded.com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:149)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.calcite.shaded.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.calcite.shaded.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.calcite.shaded.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.calcite.shaded.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.calcite.shaded.com.google.common.cache.LocalCache.get(LocalCache.java:3953)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.calcite.shaded.com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.calcite.shaded.com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.create(JaninoRelMetadataProvider.java:475)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.revise(JaninoRelMetadataProvider.java:488)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.rel.metadata.RelMetadataQuery.revise(RelMetadataQuery.java:193)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.rel.metadata.RelMetadataQuery.getPulledUpPredicates(RelMetadataQuery.java:797)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.rel.rules.ReduceExpressionsRule$ProjectReduceExpressionsRule.onMatch(ReduceExpressionsRule.java:298)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:319)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:560)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:419)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:256)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.plan.hep.HepInstruction$RuleInstance.execute(HepInstruction.java:127)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:215)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:202)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.plan.optimize.program.FlinkHepProgram.optimize(FlinkHepProgram.scala:69)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.plan.optimize.program.FlinkHepRuleSetProgram.optimize(FlinkHepRuleSetProgram.scala:87)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.plan.optimize.program.FlinkChainedProgram$$anonfun$optimize$1.apply(FlinkChainedProgram.scala:62)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.plan.optimize.program.FlinkChainedProgram$$anonfun$optimize$1.apply(FlinkChainedProgram.scala:58)
>>>>>>>
>>>>>>> at
>>>>>>> scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:157)
>>>>>>>
>>>>>>> at
>>>>>>> scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:157)
>>>>>>>
>>>>>>> at scala.collection.Iterator$class.foreach(Iterator.scala:891)
>>>>>>>
>>>>>>> at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
>>>>>>>
>>>>>>> at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
>>>>>>>
>>>>>>> at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
>>>>>>>
>>>>>>> at
>>>>>>> scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:157)
>>>>>>>
>>>>>>> at
>>>>>>> scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.plan.optimize.program.FlinkChainedProgram.optimize(FlinkChainedProgram.scala:57)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.optimizeTree(StreamCommonSubGraphBasedOptimizer.scala:170)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.doOptimize(StreamCommonSubGraphBasedOptimizer.scala:90)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.plan.optimize.CommonSubGraphBasedOptimizer.optimize(CommonSubGraphBasedOptimizer.scala:77)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.delegation.PlannerBase.optimize(PlannerBase.scala:248)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.planner.delegation.PlannerBase.translate(PlannerBase.scala:151)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.toDataStream(StreamTableEnvironmentImpl.java:351)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.toRetractStream(StreamTableEnvironmentImpl.java:296)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.toRetractStream(StreamTableEnvironmentImpl.java:287)
>>>>>>>
>>>>>>> at Reconciliation.main(Reconciliation.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:321)
>>>>>>>
>>>>>>> ... 8 more
>>>>>>>
>>>>>>> Caused by: java.lang.ClassCastException:
>>>>>>> org.codehaus.janino.CompilerFactory cannot be cast to
>>>>>>> org.codehaus.commons.compiler.ICompilerFactory
>>>>>>>
>>>>>>> at
>>>>>>> org.codehaus.commons.compiler.CompilerFactoryFactory.getCompilerFactory(CompilerFactoryFactory.java:129)
>>>>>>>
>>>>>>> at
>>>>>>> org.codehaus.commons.compiler.CompilerFactoryFactory.getDefaultCompilerFactory(CompilerFactoryFactory.java:79)
>>>>>>>
>>>>>>> at
>>>>>>> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.compile(JaninoRelMetadataProvider.java:432)
>>>>>>>
>>>>>>> ... 57 more
>>>>>>>
>>>>>>
>>
>> --
>> Best, Jingsong Lee
>>
>

Reply via email to