hi,

rocksdb作为statebackend时,TM节点挂掉了,为何任务不能恢复呢?

1、环境说明

flink版本:1.10.2
操作系统:centos 7

2、集群说明(当前模拟了2节点)

                    节点A           |      节点B
角色        |   JM、TM        |        TM
taskslot   |       4               |         4

3、statebackend配置

# rocksdb作为状态后备
state.backend: rocksdb


# 存储快照的目录(暂时使用的本地目录)
state.checkpoints.dir: file:///data/flink/checkpoints

4、启动任务后,任务自动分配在A节点的TM上,运行一段时间后,检查点快照正常。接着,仅停掉A节点TM(JM仍正常运行),任务被自动调度至B节点的TM上,但是此时任务一直重启,无法恢复,这是为什么呢?

5、如果我启动A节点,任务依旧无法恢复(此时任务仍在B节点运行),直到我停掉B节点TM,此时任务调度至A节点,任务可以正常恢复。所以有点疑问,4中的场景为何不能恢复任务呢?为什么只有在A节点上才可以进行任务恢复呢?最初以为是访问路径的问题,但是仔细想了想,检查点相关的操作一直都是JM进行的,我觉得只要JM没有挂掉,应该就可以将任务进行恢复啊,是我的理解有偏差吗?

回复