Re: 1.13.5版本sql大小64k限制bug

2022-05-27 文章 xianbin mo
1.类似这种场景
https://issues.apache.org/jira/browse/FLINK-22903

2.它的核心原因是单个字段中case when逻辑太大生成的动态代码超过64K, 如果升级到1.14版本比较麻烦还有一种解决方案, 将大的case
when字段拆解成多个小的case when 字段来减少单个字段逻辑大小来解决这个问题

3. 如 case when condition1 then 1 when condition2 then 2 when condition3
then 3 else ‘其他’ end as tag
拆解为多个tag1,tag2单个字段,再合并成最终tag; 不过这个有问题就是复杂度就会比原来高了

Lincoln Lee  于2022年5月27日周五 11:11写道:

> 是 compile 遇到  beyond 64k 异常了?
> 可以考虑使用 1.14 及以上版本, 引入了自动的 code splitting:
> https://issues.apache.org/jira/browse/FLINK-23007
>
> Best,
> Lincoln Lee
>
>
> godfrey he  于2022年5月26日周四 23:29写道:
>
> > 确认一下是sql文本超过64k?具体的异常是什么?
> >
> > Yun Tang  于2022年5月26日周四 10:06写道:
> > >
> > > Hi
> > >
> > > 请使用英文在dev社区发送邮件。另外关于使用方面的问题,建议向user-zh 频道发送,已经帮你转发到相关邮件列表了。
> > >
> > >
> > > 祝好
> > > 唐云
> > > 
> > > From: Lose control ./ <286296...@qq.com.INVALID>
> > > Sent: Tuesday, May 24, 2022 9:15
> > > To: dev 
> > > Subject: 1.13.5版本sql大小64k限制bug
> > >
> > > 请问各位大神,1.13.5版本sql大小64k限制如何修改啊?谢谢
> >
>


Re: Flink-1.15.0 在使用cumulate window报key group 不在范围内的错误

2022-05-27 文章 godfrey he
使用了什么state backend?能描述一下产生上述问题的步骤吗?
是直接跑作业就产生上述错误,还是作业有基于sp启动,或者是中途重启过?

zhangbin  于2022年5月27日周五 13:34写道:

>
> Retry
>  回复的原邮件 
> 发件人 zhangbin 
> 发送日期 2022年05月27日 10:11
> 收件人 godfre...@gmail.com 
> 抄送人 user-zh 
> 主题 回复:Flink-1.15.0 在使用cumulate window报key group 不在范围内的错误
> 确认了下邮件的内容的确是异常信息,这里却把附件的内容展示出来了。我再重新发一次。
>
> 我们在使用Flink-1.15.0 cumulate window + grouping sets 执行SQL过程中,发现个问题,报如下错误:
>java.lang.IllegalArgumentException: key group from 93 to 95 does not
> contain 478
>at
> org.apache.flink.util.Preconditions.checkArgument(Preconditions.java:160)
>at
> org.apache.flink.runtime.state.heap.KeyGroupPartitionedPriorityQueue.globalKeyGroupToLocalIndex(KeyGroupPartitionedPriorityQueue.java:191)
>at
> org.apache.flink.runtime.state.heap.KeyGroupPartitionedPriorityQueue.computeKeyGroupIndex(KeyGroupPartitionedPriorityQueue.java:186)
>at
> org.apache.flink.runtime.state.heap.KeyGroupPartitionedPriorityQueue.getKeyGroupSubHeapForElement(KeyGroupPartitionedPriorityQueue.java:179)
>at
> org.apache.flink.runtime.state.heap.KeyGroupPartitionedPriorityQueue.add(KeyGroupPartitionedPriorityQueue.java:114)
>at
> org.apache.flink.streaming.api.operators.InternalTimerServiceImpl.registerEventTimeTimer(InternalTimerServiceImpl.java:233)
>at
> org.apache.flink.table.runtime.operators.window.slicing.WindowTimerServiceImpl.registerEventTimeWindowTimer(WindowTimerServiceImpl.java:61)
>at
> org.apache.flink.table.runtime.operators.window.slicing.WindowTimerServiceImpl.registerEventTimeWindowTimer(WindowTimerServiceImpl.java:27)
>at
> org.apache.flink.table.runtime.operators.aggregate.window.processors.AbstractWindowAggProcessor.processElement(AbstractWindowAggProcessor.java:164)
>at
> org.apache.flink.table.runtime.operators.window.slicing.SlicingWindowOperator.processElement(SlicingWindowOperator.java:221)
>at
> org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:233)
>at
> org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.processElement(AbstractStreamTaskNetworkInput.java:134)
>at
> org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:105)
>at
> org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
>at
> org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:519)
>at
> org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:203)
>at
> org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:804)
>at
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:753)
>at
> org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:948)
>at
> org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:927)
>at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:741)
>at org.apache.flink.runtime.taskmanager.Task.run(Task.java:563)
>at java.lang.Thread.run(Thread.java:748)
>
>