[ 
https://issues.apache.org/jira/browse/FLINK-24761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jingsong Lee closed FLINK-24761.
--------------------------------
    Resolution: Fixed

master: 08a5969069b23ae831fbc8f759c9d7fe9473ffde
release-1.14: aa6ef87029ea5f24d831dea0b89c0fa47d9e13ba
release-1.13: 04ce83574e39a3f4401c0d5f7b55cd3f4af01cd7

> Fix PartitionPruner code gen compile fail
> -----------------------------------------
>
>                 Key: FLINK-24761
>                 URL: https://issues.apache.org/jira/browse/FLINK-24761
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner, Table SQL / Runtime
>    Affects Versions: 1.13.1
>            Reporter: tartarus
>            Assignee: tartarus
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.15.0, 1.14.1, 1.13.4
>
>
> {color:#4c9aff}PartitionPruner{color} compile code use 
> {color:#de350b}AppClassLoader{color} (Obtained by getClass.getClassLoader)
>  but {color:#4c9aff}org.apache.flink.table.functions.hive.HiveGenericUDF 
> {color:#172b4d}is in user's jar, so classloader is 
> {color:#de350b}UserCodeClassLoader{color},  {color}{color}
> So compile fail.
> we need change 
> {code:java}
> val function = genFunction.newInstance(getClass.getClassLoader)
> {code}
> to
> {code:java}
> val function = 
> genFunction.newInstance(Thread.currentThread().getContextClassLoader)
> {code}
> The following is the error message:
> {code:java}
> org.apache.flink.util.FlinkRuntimeException: 
> org.apache.flink.api.common.InvalidProgramException: Table program cannot be 
> compiled. This is a bug. Please file an issue.
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:76)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.runtime.generated.GeneratedClass.compile(GeneratedClass.java:98)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.runtime.generated.GeneratedClass.newInstance(GeneratedClass.java:69)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.utils.PartitionPruner$.prunePartitions(PartitionPruner.scala:112)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.utils.PartitionPruner.prunePartitions(PartitionPruner.scala)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.rules.logical.PushPartitionIntoTableSourceScanRule.lambda$onMatch$3(PushPartitionIntoTableSourceScanRule.java:163)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.rules.logical.PushPartitionIntoTableSourceScanRule.readPartitionFromCatalogWithoutFilterAndPrune(PushPartitionIntoTableSourceScanRule.java:373)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.rules.logical.PushPartitionIntoTableSourceScanRule.readPartitionFromCatalogAndPrune(PushPartitionIntoTableSourceScanRule.java:351)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.rules.logical.PushPartitionIntoTableSourceScanRule.readPartitionsAndPrune(PushPartitionIntoTableSourceScanRule.java:303)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.rules.logical.PushPartitionIntoTableSourceScanRule.onMatch(PushPartitionIntoTableSourceScanRule.java:171)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:333)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:542) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:407) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:243)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.calcite.plan.hep.HepInstruction$RuleInstance.execute(HepInstruction.java:127)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:202) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:189) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkHepProgram.optimize(FlinkHepProgram.scala:69)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkHepRuleSetProgram.optimize(FlinkHepRuleSetProgram.scala:87)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkGroupProgram$$anonfun$optimize$1$$anonfun$apply$1.apply(FlinkGroupProgram.scala:63)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkGroupProgram$$anonfun$optimize$1$$anonfun$apply$1.apply(FlinkGroupProgram.scala:60)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:157)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:157)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.Iterator$class.foreach(Iterator.scala:891) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.AbstractIterator.foreach(Iterator.scala:1334) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.AbstractIterable.foreach(Iterable.scala:54) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:157) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkGroupProgram$$anonfun$optimize$1.apply(FlinkGroupProgram.scala:60)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkGroupProgram$$anonfun$optimize$1.apply(FlinkGroupProgram.scala:55)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:157)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:157)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.immutable.Range.foreach(Range.scala:160) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:157) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkGroupProgram.optimize(FlinkGroupProgram.scala:55)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkChainedProgram$$anonfun$optimize$1.apply(FlinkChainedProgram.scala:62)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkChainedProgram$$anonfun$optimize$1.apply(FlinkChainedProgram.scala:58)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:157)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:157)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.Iterator$class.foreach(Iterator.scala:891) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.AbstractIterator.foreach(Iterator.scala:1334) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.AbstractIterable.foreach(Iterable.scala:54) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:157) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.program.FlinkChainedProgram.optimize(FlinkChainedProgram.scala:57)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer.optimizeTree(BatchCommonSubGraphBasedOptimizer.scala:87)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer.org$apache$flink$table$planner$plan$optimize$BatchCommonSubGraphBasedOptimizer$$optimizeBlock(BatchCommonSubGraphBasedOptimizer.scala:58)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer$$anonfun$doOptimize$1.apply(BatchCommonSubGraphBasedOptimizer.scala:46)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer$$anonfun$doOptimize$1.apply(BatchCommonSubGraphBasedOptimizer.scala:46)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at scala.collection.immutable.List.foreach(List.scala:392) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.BatchCommonSubGraphBasedOptimizer.doOptimize(BatchCommonSubGraphBasedOptimizer.scala:46)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.plan.optimize.CommonSubGraphBasedOptimizer.optimize(CommonSubGraphBasedOptimizer.scala:77)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.delegation.PlannerBase.optimize(PlannerBase.scala:279)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.planner.delegation.PlannerBase.translate(PlannerBase.scala:163)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.translate(TableEnvironmentImpl.java:1518)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:740)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:856)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeSql(TableEnvironmentImpl.java:730)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at batchProcess.BatchSqlJob.main(BatchSqlJob.java:74) 
> ~[xxxxxx-batch-streaming-integration-1.0-SNAPSHOT_v_1.jar:1.0-SNAPSHOT]
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:1.8.0_102]
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:1.8.0_102]
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:1.8.0_102]
>       at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
>       at 
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:357)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:223)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:114) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:812) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:246) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1054) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1132) 
> ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at java.security.AccessController.doPrivileged(Native Method) 
> ~[?:1.8.0_102]
>       at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_102]
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1796)
>  [hadoop-common-2.6.0U41.3-cdh5.10.0-hotfix1.jar:?]
>       at 
> org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
>  [flink-dist_2.11-1.13.1.jar:1.13.1]
>       at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1132) 
> [flink-dist_2.11-1.13.1.jar:1.13.1]
> Caused by: 
> org.apache.flink.shaded.guava18.com.google.common.util.concurrent.UncheckedExecutionException:
>  org.apache.flink.api.common.InvalidProgramException: Table program cannot be 
> compiled. This is a bug. Please file an issue.
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache.get(LocalCache.java:3937)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:74)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       ... 77 more
> Caused by: org.apache.flink.api.common.InvalidProgramException: Table program 
> cannot be compiled. This is a bug. Please file an issue.
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:89)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.lambda$compile$1(CompileUtils.java:74)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4742)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache.get(LocalCache.java:3937)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:74)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       ... 77 more
> Caused by: org.codehaus.commons.compiler.CompileException: Line 32, Column 
> 30: Cannot determine simple type name "org"
>       at 
> org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:12211) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6833) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6594) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6607) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6607) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6607) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6607) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6607) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6607) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6573) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.access$13900(UnitCompiler.java:215) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$1.visitReferenceType(UnitCompiler.java:6481)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$1.visitReferenceType(UnitCompiler.java:6476)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$ReferenceType.accept(Java.java:3928) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22.visitType(UnitCompiler.java:6476) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22.visitType(UnitCompiler.java:6469) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$ReferenceType.accept(Java.java:3927) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6469) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.access$1300(UnitCompiler.java:215) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler$25.getType(UnitCompiler.java:8271) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6873) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.access$14400(UnitCompiler.java:215) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$2$1.visitFieldAccess(UnitCompiler.java:6499)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$2$1.visitFieldAccess(UnitCompiler.java:6494)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$FieldAccess.accept(Java.java:4310) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$2.visitLvalue(UnitCompiler.java:6494) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$2.visitLvalue(UnitCompiler.java:6490) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$Lvalue.accept(Java.java:4148) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22.visitRvalue(UnitCompiler.java:6490) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22.visitRvalue(UnitCompiler.java:6469) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$Rvalue.accept(Java.java:4116) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6469) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6855) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.access$14200(UnitCompiler.java:215) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$2$1.visitAmbiguousName(UnitCompiler.java:6497)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$2$1.visitAmbiguousName(UnitCompiler.java:6494)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$AmbiguousName.accept(Java.java:4224) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$2.visitLvalue(UnitCompiler.java:6494) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22$2.visitLvalue(UnitCompiler.java:6490) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$Lvalue.accept(Java.java:4148) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22.visitRvalue(UnitCompiler.java:6490) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$22.visitRvalue(UnitCompiler.java:6469) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$Rvalue.accept(Java.java:4116) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6469) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:9026) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:5062) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.access$9100(UnitCompiler.java:215) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4423)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4396)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5073) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4396) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5662) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:3783) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.access$5900(UnitCompiler.java:215) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$13.visitMethodInvocation(UnitCompiler.java:3762)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$13.visitMethodInvocation(UnitCompiler.java:3734)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5073) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3734) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2360) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.access$1800(UnitCompiler.java:215) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1494)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1487)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:2874) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1567) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3388) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1357)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1330)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:822) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:432) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:215) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:411)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:406)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1414) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:406) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:378) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:237) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:465)
>  ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:216) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:207) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:75) 
> ~[flink-table_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:86)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.lambda$compile$1(CompileUtils.java:74)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4742)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache.get(LocalCache.java:3937)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739)
>  ~[flink-dist_2.11-1.13.1.jar:1.13.1]
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:74)
>  ~[flink-table-blink_2.11-1.13.1.jar:1.13.1]
>       ... 77 more
> 2021-11-04 11:51:51,230 DEBUG 
> org.apache.flink.table.runtime.generated.CompileUtils        [] - Compiling: 
> PartitionPruner$23 
>  Code:
>       public class PartitionPruner$23
>           extends org.apache.flink.api.common.functions.RichMapFunction {
>         private transient 
> org.apache.flink.table.runtime.typeutils.StringDataSerializer 
> typeSerializer$7;
>         
>         private final org.apache.flink.table.data.binary.BinaryStringData 
> str$9 = 
> org.apache.flink.table.data.binary.BinaryStringData.fromString("20210927");
>                    
>         
>         private final org.apache.flink.table.data.binary.BinaryStringData 
> str$12 = 
> org.apache.flink.table.data.binary.BinaryStringData.fromString("product_series");
>                    
>         private transient 
> org.apache.flink.table.functions.hive.HiveGenericUDF 
> function_org$apache$flink$table$functions$hive$HiveGenericUDF$00ff86955cfcc960a686ea8c68f6af97;
>         private transient 
> org.apache.flink.table.data.conversion.StringStringConverter converter$15;
>         private transient 
> org.apache.flink.table.data.conversion.StringStringConverter converter$16;
>         
>         private final org.apache.flink.table.data.binary.BinaryStringData 
> str$19 = org.apache.flink.table.data.binary.BinaryStringData.fromString("KS");
>         public PartitionPruner$23(Object[] references) throws Exception {
>           typeSerializer$7 = 
> (((org.apache.flink.table.runtime.typeutils.StringDataSerializer) 
> references[0]));
>         
> function_org$apache$flink$table$functions$hive$HiveGenericUDF$00ff86955cfcc960a686ea8c68f6af97
>  = (((org.apache.flink.table.functions.hive.HiveGenericUDF) references[1]));
>           converter$15 = 
> (((org.apache.flink.table.data.conversion.StringStringConverter) 
> references[2]));
>           converter$16 = 
> (((org.apache.flink.table.data.conversion.StringStringConverter) 
> references[3]));
>         }
>         @Override
>         public void open(org.apache.flink.configuration.Configuration 
> parameters) throws Exception {
> function_org$apache$flink$table$functions$hive$HiveGenericUDF$00ff86955cfcc960a686ea8c68f6af97.open(new
>  org.apache.flink.table.functions.ConstantFunctionContext(parameters));
>           converter$15.open(this.getClass().getClassLoader());
>           converter$16.open(this.getClass().getClassLoader());      
>         }
>         @Override
>         public Object map(Object _in1) throws Exception {
>           org.apache.flink.table.data.RowData in1 = 
> (org.apache.flink.table.data.RowData) _in1;
>           
>           org.apache.flink.table.data.binary.BinaryStringData field$6;
>           boolean isNull$6;
>           org.apache.flink.table.data.binary.BinaryStringData field$8;
>           boolean isNull$10;
>           boolean result$11;
>           org.apache.flink.table.data.binary.BinaryStringData field$13;
>           boolean isNull$13;
>           org.apache.flink.table.data.binary.BinaryStringData field$14;
>           java.lang.String externalResult$17;
>           org.apache.flink.table.data.binary.BinaryStringData result$18;
>           boolean isNull$18;
>           boolean isNull$20;
>           boolean result$21;
>          
>           isNull$6 = in1.isNullAt(0);
>           field$6 = 
> org.apache.flink.table.data.binary.BinaryStringData.EMPTY_UTF8;
>           if (!isNull$6) {
>             field$6 = ((org.apache.flink.table.data.binary.BinaryStringData) 
> in1.getString(0));
>           }
>           field$8 = field$6;
>           if (!isNull$6) {
>             field$8 = (org.apache.flink.table.data.binary.BinaryStringData) 
> (typeSerializer$7.copy(field$8));
>           }
>           isNull$13 = in1.isNullAt(1);
>           field$13 = 
> org.apache.flink.table.data.binary.BinaryStringData.EMPTY_UTF8;
>           if (!isNull$13) {
>             field$13 = ((org.apache.flink.table.data.binary.BinaryStringData) 
> in1.getString(1));
>           }
>           field$14 = field$13;
>           if (!isNull$13) {
>             field$14 = (org.apache.flink.table.data.binary.BinaryStringData) 
> (typeSerializer$7.copy(field$14));
>           }
>           isNull$10 = isNull$6 || false;
>           result$11 = false;
>           if (!isNull$10) {
>             result$11 = 
> field$8.equals(((org.apache.flink.table.data.binary.BinaryStringData) str$9));
>           }
>           boolean result$22 = false;
>           boolean isNull$22 = false;
>           if (!isNull$10 && !result$11) {
>             // left expr is false, skip right expr
>           } else {
>           externalResult$17 = (java.lang.String) 
> function_org$apache$flink$table$functions$hive$HiveGenericUDF$00ff86955cfcc960a686ea8c68f6af97
>             .eval(false ? null : ((java.lang.String) 
> converter$15.toExternal((org.apache.flink.table.data.binary.BinaryStringData) 
> ((org.apache.flink.table.data.binary.BinaryStringData) str$12))), isNull$6 ? 
> null : ((java.lang.String) 
> converter$16.toExternal((org.apache.flink.table.data.binary.BinaryStringData) 
> field$8)), isNull$13 ? null : ((java.lang.String) 
> converter$16.toExternal((org.apache.flink.table.data.binary.BinaryStringData) 
> field$14)));
>           isNull$18 = externalResult$17 == null;
>           result$18 = 
> org.apache.flink.table.data.binary.BinaryStringData.EMPTY_UTF8;
>           if (!isNull$18) {
>             result$18 = (org.apache.flink.table.data.binary.BinaryStringData) 
> converter$16.toInternalOrNull((java.lang.String) externalResult$17);
>           }
>           isNull$20 = isNull$18 || false;
>           result$21 = false;
>           if (!isNull$20) {
>             result$21 = 
> result$18.equals(((org.apache.flink.table.data.binary.BinaryStringData) 
> str$19));
>           }
>             if (!isNull$10 && !isNull$20) {
>               result$22 = result$11 && result$21;
>               isNull$22 = false;
>             }
>             else if (!isNull$10 && result$11 && isNull$20) {
>               result$22 = false;
>               isNull$22 = true;
>             }
>             else if (!isNull$10 && !result$11 && isNull$20) {
>               result$22 = false;
>               isNull$22 = false;
>             }
>             else if (isNull$10 && !isNull$20 && result$21) {
>               result$22 = false;
>               isNull$22 = true;
>             }
>             else if (isNull$10 && !isNull$20 && !result$21) {
>               result$22 = false;
>               isNull$22 = false;
>             }
>             else {
>               result$22 = false;
>               isNull$22 = true;
>             }
>           }
>           return result$22;
>         }
>         @Override
>         public void close() throws Exception {
> function_org$apache$flink$table$functions$hive$HiveGenericUDF$00ff86955cfcc960a686ea8c68f6af97.close();
>         
>         }
>       }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to