Hi, 
Yep, I am using 1.10
Did you submit the job in the cluster or just run it in your IDE? Because I can 
also run it successfully in my IDE, but cannot run it through cluster by a 
shading jar. So I think maybe the problem is related with maven jar classpath. 
But not sure about that. 


If you can submit the job by a shade jar through cluster , could you share the 
project pom settings and sample test code ?







At 2020-03-02 20:36:06, "Benchao Li" <libenc...@gmail.com> wrote:
>Hi fulin,
>
>I cannot reproduce your exception on current master using your SQLs. I
>searched the error message, it seems that this issue[1] is similar with
>yours, but it seems that current compile util does not have this issue.
>
>BTW, do you using 1.10?
>
>[1] https://issues.apache.org/jira/browse/FLINK-7490
>
>sunfulin <sunfulin0...@163.com> 于2020年3月2日周一 上午11:17写道:
>
>>
>>
>>
>> *create table **lscsp_sc_order_all *(
>>   amount *varchar  *,
>>   argType *varchar*,
>>   balance *varchar*,
>>   branchNo *varchar  *,
>>   businessType *varchar *,
>>   channelType *varchar *,
>>   counterOrderNo *varchar  *,
>>   counterRegisteredDate *varchar*,
>>   custAsset *varchar  *,
>>   customerNumber *varchar*,
>>   customerType *varchar*,
>>   discountId *varchar*,
>>   doubleRecordFlag *varchar*,
>>   doubleRecordType *varchar*,
>>   exceedFlag *varchar*,
>>   fundAccount *varchar*,
>>   fundCode *varchar*,
>>   fundCompany *varchar*,
>>   fundName *varchar*,
>>   fundRecruitmentFlag *varchar*,
>>   id *varchar*,
>>   lastUpdateTime *varchar*,
>>   opBranchNo *varchar*,
>>   opStation *varchar*,
>>   orderNo *varchar*,
>>   orgEntrustNo *varchar*,
>>   orgOrderNo *varchar*,
>>   prodId *varchar*,
>>   prodInvestorType *varchar*,
>>   prodLeafType *varchar*,
>>   prodRisk *varchar*,
>>   prodRiskFlag *varchar*,
>>   prodRootType *varchar*,
>>   prodTerm *varchar*,
>>   prodVariety *varchar*,
>>   quaInvestorFlag *varchar*,
>>   quaInvestorSource *varchar*,
>>   quickPurchaseFlag *varchar*,
>>   remark *varchar*,
>>   remark1 *varchar*,
>>   remark2 *varchar*,
>>   remark3 *varchar*,
>>   riskFlag *varchar*,
>>   scRcvTime *varchar*,
>>   scSendTime *varchar*,
>>   signId *varchar*,
>>   signSpecialRiskFlag *varchar*,
>>   source *varchar*,
>>   *status** varchar*,
>>   subRiskFlag *varchar*,
>>   sysNodeId *varchar*,
>>   taSerialNo *varchar*,
>>   termFlag *varchar*,
>>   token *varchar*,
>>   tradeConfirmDate *varchar*,
>>   transFundCode *varchar*,
>>   transProdId *varchar*,
>>   varietyFlag *varchar*,
>>   zlcftProdType *varchar*,
>>   proctime *as *PROCTIME()
>> *-- 通过计算列产生一个处理时间列*)
>>
>> *with*(
>>   *'connector.type' *= *'kafka'*,
>> *-- 使用 kafka connector  **'connector.version' *= *'0.10'*,
>> *-- kafka 版本,universal 支持 0.11 以上的版本  **'connector.topic' *= *'<topic>'*,
>>
>> *-- kafka topic  **'connector.startup-mode' *= *'group-offsets'*,
>> *-- 从起始 offset 开始读取  **'connector.properties.zookeeper.connect' *=
>> *'<zk_connect>'*,
>> *-- zookeeper 地址  **'connector.properties.bootstrap.servers' *=
>> *'<broker_server>'*,
>> *-- kafka broker 地址  **'connector.properties.group.id
>> <http://connector.properties.group.id>' *=
>> *'acrm-realtime-saleorder-consumer-1'*,
>>   *'format.type' *= *'json'  *
>> *-- 数据源格式为 json*)
>>
>>
>> *CREATE TABLE **dim_app_cust_info *(
>>     cust_id *varchar *,
>>     open_comp_name *varchar *,
>>     open_comp_id *varchar *,
>>     org_name *varchar *,
>>     org_id *varchar*,
>>     comp_name *varchar *,
>>     comp_id *varchar *,
>>     mng_name *varchar *,
>>     mng_id *varchar *,
>>     is_tg *varchar *,
>>     cust_name *varchar *,
>>     cust_type *varchar*,
>>     avg_tot_aset_y365 *double *,
>>     avg_aset_create_y
>> *double*) *WITH *(
>> *'connector.type' *= *'jdbc'*,
>> *'connector.url' *= *'<jdbc_url>'*,
>> *'connector.table' *= *'app_cust_serv_rel_info'*,
>> *'connector.driver' *= *'com.mysql.jdbc.Driver'*,
>> *'connector.username' *= *'admin'*,
>> *'connector.password' *= *'Windows7'*,
>> *'connector.lookup.cache.max-rows' *= *'8000'*,
>> *'connector.lookup.cache.ttl' *= *'30min'*,
>> *'connector.lookup.max-retries' *=
>> *'3'*)
>>
>>
>>
>> At 2020-03-02 09:16:05, "Benchao Li" <libenc...@gmail.com> wrote:
>> >Could you also provide us the DDL for lscsp_sc_order_all
>> >and dim_app_cust_info ?
>> >
>> >sunfulin <sunfulin0...@163.com> 于2020年3月1日周日 下午9:22写道:
>> >
>> >>
>> >> *CREATE TABLE **realtime_product_sell *(
>> >>   sor_pty_id *varchar*,
>> >>   entrust_date *varchar*,
>> >>   entrust_time *varchar*,
>> >>   product_code *varchar *,
>> >>   business_type *varchar *,
>> >>   balance *double *,
>> >>   cust_name *varchar *,
>> >>   open_comp_name *varchar *,
>> >>   open_comp_id *varchar *,
>> >>   org_name *varchar *,
>> >>   org_id *varchar *,
>> >>   comp_name *varchar *,
>> >>   comp_id *varchar *,
>> >>   mng_name *varchar *,
>> >>   mng_id *varchar *,
>> >>   is_tg *varchar *,
>> >>   cust_type *varchar *,
>> >>   avg_tot_aset_y365 *double *,
>> >>   avg_aset_create_y
>> >> *double*) *WITH *(
>> >> *'connector.type' *= *'elasticsearch'*,
>> >> *'connector.version' *= *'<version>'*,
>> >> *'connector.hosts' *= *'<host_port>'*,
>> >> *'connector.index' *= *'realtime_product_sell_007118'*,
>> >> *'connector.document-type' *= *'_doc'*,
>> >> *'update-mode' *= *'upsert'*,
>> >> *'connector.key-delimiter' *= *'$'*,
>> >> *'connector.key-null-literal' *= *'n/a'*,
>> >> *'connector.bulk-flush.interval' *= *'1000'*,
>> >> *'format.type' *=
>> >> *'json'*)
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> At 2020-03-01 21:08:08, "Benchao Li" <libenc...@gmail.com> wrote:
>> >> >The UDF looks good. Could you also paste your DDL? Then we can produce 
>> >> >your
>> >> >bug easily.
>> >> >
>> >> >sunfulin <sunfulin0...@163.com> 于2020年3月1日周日 下午6:39写道:
>> >> >
>> >> >> Below is the code. The function trans origin field timeStr "2020-03-01
>> >> >> 12:01:00.234" to target timeStr accroding to dayTag.
>> >> >>
>> >> >> *public class *ts2Date *extends *ScalarFunction {
>> >> >>     *public *ts2Date() {
>> >> >>
>> >> >>     }
>> >> >>
>> >> >>
>> >> >>     *public *String eval (String timeStr, *boolean *dayTag) {
>> >> >>
>> >> >>     *if*(timeStr == *null*) {
>> >> >>         *return null*;
>> >> >>     }
>> >> >>     SimpleDateFormat ortSf = *new *SimpleDateFormat(*"yyyy-MM-dd
>> >> >> HH:mm:ss.SSS"*);
>> >> >>     Date date = *new *Date();
>> >> >>     *try *{
>> >> >>         date = ortSf.parse(timeStr);
>> >> >>     } *catch *(ParseException e) {
>> >> >>         e.printStackTrace();
>> >> >>         *return null*;
>> >> >>     }
>> >> >>     *if *(dayTag) {
>> >> >>         String format = *"yyyy-MM-dd"*;
>> >> >>         SimpleDateFormat sf = *new *SimpleDateFormat(format);
>> >> >>         *return *sf.format(date);
>> >> >>     } *else *{
>> >> >>         String format = *"yyyy-MM-dd**\'**T**\'**HH:mm:00.000+0800"*;
>> >> >>         SimpleDateFormat sf = *new *SimpleDateFormat(format);
>> >> >>         *return *sf.format(date);
>> >> >>     }
>> >> >> }
>> >> >> }
>> >> >>
>> >> >>
>> >> >>
>> >> >> At 2020-03-01 18:14:30, "Benchao Li" <libenc...@gmail.com> wrote:
>> >> >>
>> >> >> Could you show how your UDF `ts2Date` is implemented?
>> >> >>
>> >> >> sunfulin <sunfulin0...@163.com> 于2020年3月1日周日 下午6:05写道:
>> >> >>
>> >> >>> Hi, Benchao,
>> >> >>> Thanks for the reply.
>> >> >>>
>> >> >>> Could you provide us more information?
>> >> >>> 1. what planner are you using? blink or legacy planner?
>> >> >>> I am using Blink Planner. Not test with legacy planner because my 
>> >> >>> program
>> >> >>> depend a lot of new feature based on blink planner.
>> >> >>> 2. how do you register your UDF?
>> >> >>> Just use the code :  tableEnv.registerFunction ("ts2Date", new
>> >> >>> ts2Date());    tableEnv is a StreamTableEnvironment.
>> >> >>> 3. does this has a relation with checkpointing? what if you enable
>> >> >>> checkpointing and not use your udf? and disable checkpointing and use 
>> >> >>> udf?
>> >> >>> I don't think this is related with checkpoint. If I enable 
>> >> >>> checkpointing
>> >> >>> and not use my udf, I did not see any exception and submit job
>> >> >>> successfully. If I disable checkpointing and use udf, the job can 
>> >> >>> submit
>> >> >>> successfully too.
>> >> >>>
>> >> >>> I dive a lot with this exception. Maybe it is related with some
>> >> >>> classloader issue. Hope for your suggestion.
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> 在 2020-03-01 17:54:03,"Benchao Li" <libenc...@gmail.com> 写道:
>> >> >>>
>> >> >>> Hi fulin,
>> >> >>>
>> >> >>> It seems like a bug in the code generation.
>> >> >>>
>> >> >>> Could you provide us more information?
>> >> >>> 1. what planner are you using? blink or legacy planner?
>> >> >>> 2. how do you register your UDF?
>> >> >>> 3. does this has a relation with checkpointing? what if you enable
>> >> >>> checkpointing and not use your udf? and disable checkpointing and use 
>> >> >>> udf?
>> >> >>>
>> >> >>> sunfulin <sunfulin0...@163.com> 于2020年3月1日周日 下午5:41写道:
>> >> >>>
>> >> >>>> Hi, guys
>> >> >>>> I am running Flink 1.10 SQL job with UpsertStreamSink to 
>> >> >>>> ElasticSearch.
>> >> >>>> In my sql logic, I am using a UDF like ts2Date to handle date format 
>> >> >>>> stream
>> >> >>>> fields. However, when I add the `env.enableCheckpointing(time)`, my 
>> >> >>>> job
>> >> >>>> failed to submit and throws exception like following. This is really 
>> >> >>>> weird,
>> >> >>>> cause when I remove the UDF, the job can submit successfully. Any
>> >> >>>> suggestion is highly appreciated. Besides, my sql logic is like :
>> >> >>>>
>> >> >>>> *INSERT INTO *realtime_product_sell
>> >> >>>> *select *U.sor_pty_id,
>> >> >>>>        U.entrust_date,
>> >> >>>>        U.entrust_time,
>> >> >>>>        U.product_code,
>> >> >>>>        U.business_type,
>> >> >>>>        sum(*cast*(U.balance *as double*)) *as *balance,
>> >> >>>>        COALESCE(C.cust_name, *'--'*) *as *cust_name,
>> >> >>>>        COALESCE(C.open_comp_name, *'--'*) *AS *open_comp_name,
>> >> >>>>        COALESCE(C.open_comp_id, *'--'*) *as *open_comp_id,
>> >> >>>>        COALESCE(C.org_name,*'--'*) *as *org_name,
>> >> >>>>        COALESCE(C.org_id,*'--'*) *as *comp_name,
>> >> >>>>        COALESCE(C.comp_name, *'--'*) *AS *comp_name,
>> >> >>>>        COALESCE(C.comp_id,*'--'*) *as *comp_id,
>> >> >>>>        COALESCE(C.mng_name,*'--'*) *as *mng_name,
>> >> >>>>        COALESCE(C.mng_id,*'--'*) *as *mng_id,
>> >> >>>>        COALESCE(C.is_tg,*'--'*) *as *is_tg,
>> >> >>>>        COALESCE(C.cust_type,*'--'*) *as *cust_type,
>> >> >>>>        COALESCE(C.avg_tot_aset_y365, 0.00) *as *avg_tot_aset_y365,
>> >> >>>>        COALESCE(C.avg_aset_create_y, 0.00) *as *avg_aset_create_y
>> >> >>>>
>> >> >>>> *from*(*select *customerNumber *as *sor_pty_id,
>> >> >>>>         ts2Date(`lastUpdateTime`, *true*) *as *entrust_date,     -- 
>> >> >>>> the
>> >> >>>> UDF
>> >> >>>>        ts2Date(`lastUpdateTime`, *false*) *as *entrust_time,     -- 
>> >> >>>> the
>> >> >>>> UDF
>> >> >>>>         fundCode *as *product_code,
>> >> >>>>         businessType *as *business_type,
>> >> >>>>         balance,
>> >> >>>>         proctime
>> >> >>>>       *from **lscsp_sc_order_all **where *fundCode *in *(*'007118'*,
>> >> >>>> *'007117'*) *and *businessType *in *(*'5'*) ) *as *U
>> >> >>>>
>> >> >>>> *left join**dim_app_cust_info **FOR *SYSTEM_TIME *AS OF *U.proctime 
>> >> >>>> *AS
>> >> >>>> *C
>> >> >>>> *on **U*.sor_pty_id = *C*.cust_id
>> >> >>>> *group by *sor_pty_id,
>> >> >>>>         entrust_date,
>> >> >>>>         entrust_time,
>> >> >>>>         product_code,
>> >> >>>>         business_type,
>> >> >>>>         COALESCE(C.cust_name, *'--'*),
>> >> >>>>         COALESCE(C.open_comp_name, *'--'*),
>> >> >>>>         COALESCE(C.open_comp_id, *'--'*),
>> >> >>>>         COALESCE(C.org_name,*'--'*),
>> >> >>>>         COALESCE(C.org_id,*'--'*),
>> >> >>>>         COALESCE(C.comp_name, *'--'*),
>> >> >>>>         COALESCE(C.comp_id,*'--'*),
>> >> >>>>         COALESCE(C.mng_name,*'--'*),
>> >> >>>>         COALESCE(C.mng_id,*'--'*),
>> >> >>>>         COALESCE(C.is_tg,*'--'*),
>> >> >>>>         COALESCE(C.cust_type,*'--'*),
>> >> >>>>         COALESCE(C.avg_tot_aset_y365, 0.00),
>> >> >>>>         COALESCE(C.avg_aset_create_y, 0.00)
>> >> >>>>
>> >> >>>> 2020-03-01 17:22:06,504 ERROR
>> >> >>>> org.apache.flink.runtime.webmonitor.handlers.JarRunHandler    - 
>> >> >>>> Unhandled
>> >> >>>> exception.
>> >> >>>> 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:68)
>> >> >>>> at
>> >> >>>> org.apache.flink.table.runtime.generated.GeneratedClass.compile(GeneratedClass.java:78)
>> >> >>>> at
>> >> >>>> org.apache.flink.table.runtime.generated.GeneratedClass.getClass(GeneratedClass.java:96)
>> >> >>>> at
>> >> >>>> org.apache.flink.table.runtime.operators.CodeGenOperatorFactory.getStreamOperatorClass(CodeGenOperatorFactory.java:62)
>> >> >>>> at
>> >> >>>> org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.preValidate(StreamingJobGraphGenerator.java:214)
>> >> >>>> at
>> >> >>>> org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:149)
>> >> >>>> at
>> >> >>>> org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:104)
>> >> >>>> at
>> >> >>>> org.apache.flink.streaming.api.graph.StreamGraph.getJobGraph(StreamGraph.java:777)
>> >> >>>> at
>> >> >>>> org.apache.flink.streaming.api.graph.StreamGraphTranslator.translateToJobGraph(StreamGraphTranslator.java:52)
>> >> >>>> at
>> >> >>>> org.apache.flink.client.FlinkPipelineTranslationUtil.getJobGraph(FlinkPipelineTranslationUtil.java:43)
>> >> >>>> at
>> >> >>>> org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:57)
>> >> >>>> at
>> >> >>>> org.apache.flink.runtime.webmonitor.handlers.utils.JarHandlerUtils$JarHandlerContext.toJobGraph(JarHandlerUtils.java:128)
>> >> >>>> at
>> >> >>>> org.apache.flink.runtime.webmonitor.handlers.JarRunHandler.lambda$getJobGraphAsync$6(JarRunHandler.java:138)
>> >> >>>> at
>> >> >>>> java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
>> >> >>>> at
>> >> >>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>> >> >>>> at
>> >> >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>> >> >>>> at java.lang.Thread.run(Thread.java:748)
>> >> >>>> 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)
>> >> >>>> at
>> >> >>>> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache.get(LocalCache.java:3937)
>> >> >>>> at
>> >> >>>> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739)
>> >> >>>> at
>> >> >>>> org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:66)
>> >> >>>> ... 16 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:81)
>> >> >>>> at
>> >> >>>> org.apache.flink.table.runtime.generated.CompileUtils.lambda$compile$1(CompileUtils.java:66)
>> >> >>>> at
>> >> >>>> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4742)
>> >> >>>> at
>> >> >>>> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
>> >> >>>> at
>> >> >>>> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
>> >> >>>> at
>> >> >>>> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
>> >> >>>> at
>> >> >>>> org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
>> >> >>>> ... 19 more
>> >> >>>> Caused by: org.codehaus.commons.compiler.CompileException: Line 17,
>> >> >>>> Column 30: Cannot determine simple type name "com"
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:12124)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6746)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6507)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520)
>> >> >>>> at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6486)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.access$13800(UnitCompiler.java:215)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$1.visitReferenceType(UnitCompiler.java:6394)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$1.visitReferenceType(UnitCompiler.java:6389)
>> >> >>>> at org.codehaus.janino.Java$ReferenceType.accept(Java.java:3917)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler$21.visitType(UnitCompiler.java:6389)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler$21.visitType(UnitCompiler.java:6382)
>> >> >>>> at org.codehaus.janino.Java$ReferenceType.accept(Java.java:3916)
>> >> >>>> at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6382)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.access$1300(UnitCompiler.java:215)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler$24.getType(UnitCompiler.java:8184)
>> >> >>>> at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6786)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.access$14300(UnitCompiler.java:215)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$2$1.visitFieldAccess(UnitCompiler.java:6412)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$2$1.visitFieldAccess(UnitCompiler.java:6407)
>> >> >>>> at org.codehaus.janino.Java$FieldAccess.accept(Java.java:4299)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$2.visitLvalue(UnitCompiler.java:6407)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$2.visitLvalue(UnitCompiler.java:6403)
>> >> >>>> at org.codehaus.janino.Java$Lvalue.accept(Java.java:4137)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6403)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6382)
>> >> >>>> at org.codehaus.janino.Java$Rvalue.accept(Java.java:4105)
>> >> >>>> at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6382)
>> >> >>>> at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6768)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.access$14100(UnitCompiler.java:215)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$2$1.visitAmbiguousName(UnitCompiler.java:6410)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$2$1.visitAmbiguousName(UnitCompiler.java:6407)
>> >> >>>> at org.codehaus.janino.Java$AmbiguousName.accept(Java.java:4213)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$2.visitLvalue(UnitCompiler.java:6407)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21$2.visitLvalue(UnitCompiler.java:6403)
>> >> >>>> at org.codehaus.janino.Java$Lvalue.accept(Java.java:4137)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6403)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6382)
>> >> >>>> at org.codehaus.janino.Java$Rvalue.accept(Java.java:4105)
>> >> >>>> at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6382)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:8939)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:5060)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.access$9100(UnitCompiler.java:215)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4421)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4394)
>> >> >>>> at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5062)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4394)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5575)
>> >> >>>> at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:3781)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.access$5900(UnitCompiler.java:215)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$13.visitMethodInvocation(UnitCompiler.java:3760)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$13.visitMethodInvocation(UnitCompiler.java:3732)
>> >> >>>> at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5062)
>> >> >>>> at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3732)
>> >> >>>> at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2360)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.access$1800(UnitCompiler.java:215)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1494)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$6.visitExpressionStatement(UnitCompiler.java:1487)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:2871)
>> >> >>>> at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1567)
>> >> >>>> at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3388)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1357)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1330)
>> >> >>>> at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:822)
>> >> >>>> at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:432)
>> >> >>>> at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:215)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:411)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:406)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1414)
>> >> >>>> at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:406)
>> >> >>>> at 
>> >> >>>> org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:378)
>> >> >>>> at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:237)
>> >> >>>> at
>> >> >>>> org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:465)
>> >> >>>> at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:216)
>> >> >>>> at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:207)
>> >> >>>> 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.runtime.generated.CompileUtils.doCompile(CompileUtils.java:78)
>> >> >>>> ... 25 more
>> >> >>>>
>> >> >>>>
>> >> >>>>
>> >> >>>>
>> >> >>>>
>> >> >>>
>> >> >>>
>> >> >>> --
>> >> >>>
>> >> >>> Benchao Li
>> >> >>> School of Electronics Engineering and Computer Science, Peking 
>> >> >>> University
>> >> >>> Tel:+86-15650713730
>> >> >>> Email: libenc...@gmail.com; libenc...@pku.edu.cn
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>
>> >> >>
>> >> >> --
>> >> >>
>> >> >> Benchao Li
>> >> >> School of Electronics Engineering and Computer Science, Peking 
>> >> >> University
>> >> >> Tel:+86-15650713730
>> >> >> Email: libenc...@gmail.com; libenc...@pku.edu.cn
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >--
>> >> >
>> >> >Benchao Li
>> >> >School of Electronics Engineering and Computer Science, Peking University
>> >> >Tel:+86-15650713730
>> >> >Email: libenc...@gmail.com; libenc...@pku.edu.cn
>> >>
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>> >--
>> >
>> >Benchao Li
>> >School of Electronics Engineering and Computer Science, Peking University
>> >Tel:+86-15650713730
>> >Email: libenc...@gmail.com; libenc...@pku.edu.cn
>>
>>
>>
>>
>>
>
>
>-- 
>
>Benchao Li
>School of Electronics Engineering and Computer Science, Peking University
>Tel:+86-15650713730
>Email: libenc...@gmail.com; libenc...@pku.edu.cn

回复