I am getting an error when using the Table API with ScalarFunction. This is previously reported here (https://issues.apache.org/jira/browse/FLINK-7490) as loading a wrong class loader and is reported as fixed. But the issue persists even after using the latest code from 1.3 branch.
>From some of my experiments, this might be a potential place where the issue is, but not sure. https://github.com/apache/flink/blob/master/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/functions/utils/UserDefinedFunctionUtils.scala#L746 Our application is such that the ScalarFunction is defined and instantiated in a different package from where the topology is executed. Any direction on how to work around this or what I am doing wrong is much appreciated! Thanks, Rakesh org.apache.flink.api.common.InvalidProgramException: Table program cannot be compiled. This is a bug. Please file an issue. at org.apache.flink.table.codegen.Compiler$class.compile(Compiler.scala:36) at org.apache.flink.table.runtime.CRowProcessRunner.compile(CRowProcessRunner.scala:35) at org.apache.flink.table.runtime.CRowProcessRunner.open(CRowProcessRunner.scala:49) at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36) at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:111) at org.apache.flink.streaming.api.operators.ProcessOperator.open(ProcessOperator.java:56) at org.apache.flink.streaming.runtime.tasks.StreamTask.openAllOperators(StreamTask.java:376) at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:253) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:702) at java.lang.Thread.run(Thread.java:745) Caused by: org.codehaus.commons.compiler.CompileException: Line 12, Column 21: Cannot determine simple type name "ax" at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:11821) at org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6494) at org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6255) at org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6268) at org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6268) at org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6268) at org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6268) at org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6268) at org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6268) at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6234) at org.codehaus.janino.UnitCompiler.access$13400(UnitCompiler.java:212) at org.codehaus.janino.UnitCompiler$18$1.visitReferenceType(UnitCompiler.java:6142) at org.codehaus.janino.UnitCompiler$18$1.visitReferenceType(UnitCompiler.java:6137) at org.codehaus.janino.Java$ReferenceType.accept(Java.java:3757) at org.codehaus.janino.UnitCompiler$18.visitType(UnitCompiler.java:6137) at org.codehaus.janino.UnitCompiler$18.visitType(UnitCompiler.java:6130) at org.codehaus.janino.Java$ReferenceType.accept(Java.java:3756) at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6130) at org.codehaus.janino.UnitCompiler.access$1300(UnitCompiler.java:212) at org.codehaus.janino.UnitCompiler$21.getType(UnitCompiler.java:7926) at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6534) at org.codehaus.janino.UnitCompiler.access$13900(UnitCompiler.java:212) at org.codehaus.janino.UnitCompiler$18$2$1.visitFieldAccess(UnitCompiler.java:6160) at org.codehaus.janino.UnitCompiler$18$2$1.visitFieldAccess(UnitCompiler.java:6155) at org.codehaus.janino.Java$FieldAccess.accept(Java.java:4139) at org.codehaus.janino.UnitCompiler$18$2.visitLvalue(UnitCompiler.java:6155) at org.codehaus.janino.UnitCompiler$18$2.visitLvalue(UnitCompiler.java:6151) at org.codehaus.janino.Java$Lvalue.accept(Java.java:3977) at org.codehaus.janino.UnitCompiler$18.visitRvalue(UnitCompiler.java:6151) at org.codehaus.janino.UnitCompiler$18.visitRvalue(UnitCompiler.java:6130) at org.codehaus.janino.Java$Rvalue.accept(Java.java:3945) at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6130) at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6516) at org.codehaus.janino.UnitCompiler.access$13700(UnitCompiler.java:212) at org.codehaus.janino.UnitCompiler$18$2$1.visitAmbiguousName(UnitCompiler.java:6158) at org.codehaus.janino.UnitCompiler$18$2$1.visitAmbiguousName(UnitCompiler.java:6155) at org.codehaus.janino.Java$AmbiguousName.accept(Java.java:4053) at org.codehaus.janino.UnitCompiler$18$2.visitLvalue(UnitCompiler.java:6155) at org.codehaus.janino.UnitCompiler$18$2.visitLvalue(UnitCompiler.java:6151) at org.codehaus.janino.Java$Lvalue.accept(Java.java:3977) at org.codehaus.janino.UnitCompiler$18.visitRvalue(UnitCompiler.java:6151) at org.codehaus.janino.UnitCompiler$18.visitRvalue(UnitCompiler.java:6130) at org.codehaus.janino.Java$Rvalue.accept(Java.java:3945) at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6130) at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:8673) at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4737) at org.codehaus.janino.UnitCompiler.access$8300(UnitCompiler.java:212) at org.codehaus.janino.UnitCompiler$12.visitMethodInvocation(UnitCompiler.java:4097) at org.codehaus.janino.UnitCompiler$12.visitMethodInvocation(UnitCompiler.java:4070) at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:4902) at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4070) at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5253) at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:3468) at org.codehaus.janino.UnitCompiler.access$5100(UnitCompiler.java:212) at org.codehaus.janino.UnitCompiler$9.visitMethodInvocation(UnitCompiler.java:3447) at org.codehaus.janino.UnitCompiler$9.visitMethodInvocation(UnitCompiler.java:3419) at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:4902) at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3419) at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2339) at org.codehaus.janino.UnitCompiler.access$1800(UnitCompiler.java:212) at org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1473) at org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1466) at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:2851) at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1466) at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1546) at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3075) at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1336) at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1309) at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:799) at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:411) at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:212) at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:390) at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:385) at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1405) at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:385) at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:357) at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:234) at org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:446) at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:213) at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:204) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:75) at org.apache.flink.table.codegen.Compiler$class.compile(Compiler.scala:33) -- Sent from: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/