[ 
https://issues.apache.org/jira/browse/FLINK-34016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17821751#comment-17821751
 ] 

Sebastien Pereira commented on FLINK-34016:
-------------------------------------------

Hi [~xuyangzhong] I have tested changes from your 
[PR|https://github.com/apache/flink/pull/24280] with a patch on 1.18.0 and it 
fixes the issue (I previously reported the issue on 1.18.0 in  
[FLINK-28693|https://issues.apache.org/jira/browse/FLINK-28693?focusedCommentId=17815957&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17815957]







 

 

> Janino compile failed when watermark with column by udf
> -------------------------------------------------------
>
>                 Key: FLINK-34016
>                 URL: https://issues.apache.org/jira/browse/FLINK-34016
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Runtime
>    Affects Versions: 1.15.0, 1.18.0
>            Reporter: JJJJude
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: image-2024-01-25-11-53-06-158.png, 
> image-2024-01-25-11-54-54-381.png, image-2024-01-25-12-57-21-318.png, 
> image-2024-01-25-12-57-34-632.png
>
>
> After submit the following flink sql by sql-client.sh will throw an exception:
> {code:java}
> Caused by: java.lang.RuntimeException: Could not instantiate generated class 
> 'WatermarkGenerator$0'
>     at 
> org.apache.flink.table.runtime.generated.GeneratedClass.newInstance(GeneratedClass.java:74)
>     at 
> org.apache.flink.table.runtime.generated.GeneratedWatermarkGeneratorSupplier.createWatermarkGenerator(GeneratedWatermarkGeneratorSupplier.java:69)
>     at 
> org.apache.flink.streaming.api.operators.source.ProgressiveTimestampsAndWatermarks.createMainOutput(ProgressiveTimestampsAndWatermarks.java:109)
>     at 
> org.apache.flink.streaming.api.operators.SourceOperator.initializeMainOutput(SourceOperator.java:462)
>     at 
> org.apache.flink.streaming.api.operators.SourceOperator.emitNextNotReading(SourceOperator.java:438)
>     at 
> org.apache.flink.streaming.api.operators.SourceOperator.emitNext(SourceOperator.java:414)
>     at 
> org.apache.flink.streaming.runtime.io.StreamTaskSourceInput.emitNext(StreamTaskSourceInput.java:68)
>     at 
> org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
>     at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:562)
>     at 
> org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
>     at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:858)
>     at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:807)
>     at 
> org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:953)
>     at 
> org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:932)
>     at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:746)
>     at org.apache.flink.runtime.taskmanager.Task.run(Task.java:562)
>     at java.lang.Thread.run(Thread.java:748)
> Caused by: 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:94)
>     at 
> org.apache.flink.table.runtime.generated.GeneratedClass.compile(GeneratedClass.java:101)
>     at 
> org.apache.flink.table.runtime.generated.GeneratedClass.newInstance(GeneratedClass.java:68)
>     ... 16 more
> Caused by: 
> org.apache.flink.shaded.guava31.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.guava31.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2055)
>     at 
> org.apache.flink.shaded.guava31.com.google.common.cache.LocalCache.get(LocalCache.java:3966)
>     at 
> org.apache.flink.shaded.guava31.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4863)
>     at 
> org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:92)
>     ... 18 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:107)
>     at 
> org.apache.flink.table.runtime.generated.CompileUtils.lambda$compile$0(CompileUtils.java:92)
>     at 
> org.apache.flink.shaded.guava31.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4868)
>     at 
> org.apache.flink.shaded.guava31.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3533)
>     at 
> org.apache.flink.shaded.guava31.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2282)
>     at 
> org.apache.flink.shaded.guava31.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2159)
>     at 
> org.apache.flink.shaded.guava31.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
>     ... 21 more
> Caused by: org.codehaus.commons.compiler.CompileException: Line 29, Column 
> 123: Line 29, Column 123: Cannot determine simple type name "org"
>     at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:7007)
>     at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6886)
>     at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6899)
>     at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6899)
>     at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6899)
>     at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6899)
>     at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6899)
>     at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6899)
>     at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6857)
>     at org.codehaus.janino.UnitCompiler.access$14800(UnitCompiler.java:237)
>     at 
> org.codehaus.janino.UnitCompiler$24.visitReferenceType(UnitCompiler.java:6755)
>     at 
> org.codehaus.janino.UnitCompiler$24.visitReferenceType(UnitCompiler.java:6752)
>     at org.codehaus.janino.Java$ReferenceType.accept(Java.java:4289)
>     at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6752)
>     at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:7532)
>     at org.codehaus.janino.UnitCompiler.access$17300(UnitCompiler.java:237)
>     at 
> org.codehaus.janino.UnitCompiler$25.visitNewClassInstance(UnitCompiler.java:6799)
>     at 
> org.codehaus.janino.UnitCompiler$25.visitNewClassInstance(UnitCompiler.java:6773)
>     at org.codehaus.janino.Java$NewClassInstance.accept(Java.java:5587)
>     at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6773)
>     at 
> org.codehaus.janino.UnitCompiler.findMostSpecificIInvocable(UnitCompiler.java:9621)
>     at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:9506)
>     at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:9422)
>     at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:5263)
>     at org.codehaus.janino.UnitCompiler.access$9300(UnitCompiler.java:237)
>     at 
> org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4766)
>     at 
> org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4742)
>     at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5470)
>     at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4742)
>     at 
> org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5885)
>     at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:4121)
>     at org.codehaus.janino.UnitCompiler.access$6100(UnitCompiler.java:237)
>     at 
> org.codehaus.janino.UnitCompiler$13.visitMethodInvocation(UnitCompiler.java:4096)
>     at 
> org.codehaus.janino.UnitCompiler$13.visitMethodInvocation(UnitCompiler.java:4071)
>     at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5470)
>     at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:4071)
>     at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2524)
>     at org.codehaus.janino.UnitCompiler.access$1800(UnitCompiler.java:237)
>     at 
> org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1581)
>     at 
> org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1576)
>     at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:3209)
>     at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1576)
>     at 
> org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1662)
>     at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:3665)
>     at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3330)
>     at 
> org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1448)
>     at 
> org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1421)
>     at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:830)
>     at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:443)
>     at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:237)
>     at 
> org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:423)
>     at 
> org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:419)
>     at 
> org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1688)
>     at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:419)
>     at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:393)
>     at org.codehaus.janino.UnitCompiler.access$000(UnitCompiler.java:237)
>     at 
> org.codehaus.janino.UnitCompiler$2.visitCompilationUnit(UnitCompiler.java:364)
>     at 
> org.codehaus.janino.UnitCompiler$2.visitCompilationUnit(UnitCompiler.java:362)
>     at org.codehaus.janino.Java$CompilationUnit.accept(Java.java:371)
>     at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:362)
>     at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:273)
>     at 
> org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:526)
>     at org.codehaus.janino.SimpleCompiler.cook2(SimpleCompiler.java:250)
>     at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:229)
>     at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:219)
>     at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:82)
>     at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:77)
>     at 
> org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:104)
>     ... 27 more
> Caused by: org.codehaus.commons.compiler.CompileException: Line 29, Column 
> 123: Cannot determine simple type name "org"
>     at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:13080)
>     at 
> org.codehaus.janino.UnitCompiler.getRawReferenceType(UnitCompiler.java:7175)
>     at 
> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:7005)
>     ... 94 more
>  {code}
>  
> flink sql: 
> {code:java}
> CREATE TABLE default_catalog.default_database.KafkaTable (
>   `block` STRING,
>   `de` STRING,
>   `http_path` STRING,
>   `logType` STRING,
>   `mod` STRING,
>   `pb_city_id` STRING,
>   `pb_nation_id` STRING,
>   `timestamp` BIGINT,
>   `v_lineNum` STRING,
>   `v_timestamp` BIGINT,
>    ts AS COALESCE(TO_TIMESTAMP(
>         FROM_UNIXTIME(`timestamp` / 1000, 'yyyy-MM-dd HH:mm:ss')
>     ),CURRENT_TIMESTAMP),
>     WATERMARK FOR ts AS ts - INTERVAL '5' SECOND
> ) WITH (
>   'connector' = 'kafka',
>   'topic' = 'kafka_topic_01',
>   'properties.bootstrap.servers' = '*****',
>   'properties.group.id' = 'testGroup',
>   'scan.startup.mode' = 'earliest-offset',
>   'format' = 'json'
> );
> CREATE TABLE default_catalog.default_database.table_print(
>   `block` STRING,
>   `de` STRING,
>   `http_path` STRING,
>   `logType` STRING,
>   `mod` STRING,
>   `pb_city_id` STRING,
>   `pb_nation_id` STRING,
>   `timestamp` BIGINT,
>   `v_lineNum` STRING,
>   `v_timestamp` BIGINT,
>    ts TIMESTAMP
> ) WITH(
>     'connector' = 'print',
>     'print-identifier' = '===== PrintResult: ====='
> );
> insert into default_catalog.default_database.table_print select * from 
> default_catalog.default_database.KafkaTable; {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to