Flink1.12的RocksDB占用的内存大于Flink1.9

2021-06-18 文章 Haihang Jing
请教个问题,同样的业务逻辑,同样的资源配置,作业在Flink1.9和Flink1.12的内存使用相差很大,使用jemalloc分析
发现主要是rocksdb的UncompressBlockContentsForCompressionType方法占用的内存较多
,运行相同的时间,该方法在Flink1.9 占用内存200MB,在Flink1.12占用内存约4G,大家有遇到过这个现象么?
 
 




--
Sent from: http://apache-flink.147419.n8.nabble.com/


相同的作业配置 ,Flink1.12 版本的作业checkpoint耗时增加以及制作失败,Flink1.9的作业运行正常

2021-03-23 文章 Haihang Jing
【现象】相同配置的作业(checkpoint interval :3分钟,作业逻辑:regular
join),flink1.9运行正常,flink1.12运行一段时间后,checkpoint制作耗时增大,最后checkpoint制作失败。

【分析】了解到flink1.10后对于checkpoint机制进行调整,接收端在barrier对齐时不会缓存单个barrier到达后的数据,意味着发送方必须在barrier对齐后等待credit
feedback来传输数据,因此发送方会产生一定的冷启动,影响到延迟和网络吞吐量,因此调整checkpoint
interval为10分钟进行对比测试,发现调整后(interval为10),flink1.12上运行的作业运行正常。
相关issue:https://issues.apache.org/jira/browse/FLINK-16404

【问题】1.想咨询下大家有遇到过相同的情况么?
2.flink1.12的作业checkpoint间隔对作业的影响具体有多大?官方有测试么?

checkpoint interval为3分钟的flink1.12作业运行5小时后,checkpoint制作失败,具体异常栈:

org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint tolerable
failure threshold.

at
org.apache.flink.runtime.checkpoint.CheckpointFailureManager.handleCheckpointException(CheckpointFailureManager.java:96)

at
org.apache.flink.runtime.checkpoint.CheckpointFailureManager.handleJobLevelCheckpointException(CheckpointFailureManager.java:65)

at
org.apache.flink.runtime.checkpoint.CheckpointCoordinator.abortPendingCheckpoint(CheckpointCoordinator.java:1924)

at
org.apache.flink.runtime.checkpoint.CheckpointCoordinator.abortPendingCheckpoint(CheckpointCoordinator.java:1897)

at
org.apache.flink.runtime.checkpoint.CheckpointCoordinator.access$600(CheckpointCoordinator.java:93)

at
org.apache.flink.runtime.checkpoint.CheckpointCoordinator$CheckpointCanceller.run(CheckpointCoordinator.java:2038)

at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)

at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)

at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)


Re: Flink 1.12.0 隔几个小时Checkpoint就会失败

2021-03-23 文章 Haihang Jing
你好,问题定位到了吗?
我也遇到了相同的问题,感觉和checkpoint interval有关
我有两个相同的作业(checkpoint interval
设置的是3分钟),一个运行在flink1.9,一个运行在flink1.12,1.9的作业稳定运行,1.12的运行5小时就会checkpoint
制作失败,抛异常 org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint
tolerable failure threshold.
当我把checkpoint interval调大到10分钟后,1.12的作业也可以稳定运行,所以我怀疑和制作间隔有关。
看到过一个issuse,了解到flink1.10后对于checkpoint机制进行调整,接收端在barrier对齐时不会缓存单个barrier到达后的数据,意味着发送方必须在barrier对齐后等待credit
feedback来传输数据,因此发送方会产生一定的冷启动,影响到延迟和网络吞吐量。但是不确定是不是一定和这个相关,以及如何定位影响。



--
Sent from: http://apache-flink.147419.n8.nabble.com/