ray client主动断开连接后,ray head的gcs中不更新block的demand resource

  1. 在k8s环境下,使用ray operator创建ray cluster, 客户端通过ray.init(“ray://*****”)连接,并提交计算任务后,如果客户端主动停止,会导致ray cluster在不停的扩缩容,经过排查扩缩容的相关代码,发现是从head中获取的metircs有问题,其中resource_demand_pb.backlog_size 一直不变化了,没有清零。
    【Ray使用环境】生产
    【Ray版本和类库】 ray==1.12.1
    【使用现场】
    1.创建ray cluster 1 head + 3 worker (min=1 ,max=3), 提交任务后,扩容到3个worker

  2. 客户端crtl +c 主动断开连接:

3.节点没有任务运行,触发缩容,但是马上有扩容了

4.在扩容第相关代码打印日志:
monitor.py


打印的block_size:


可以看到打印的block_size一直没变化,但是其实这个时候客户端早就断开连接了,这些block的资源需求应该清零,否则ray cluster会一直重复的扩缩容。

请问一下你用的哪个版本的 ray operator

1.12.1 版本

可以先切到 kuberay operator 使用一下。这个版本内置的 ray operator 后面应该会下线掉。

已经基于这个ray operator上线了,这个问题是head node中gcs 的问题,还是autoscaler的逻辑问题呢

这个看着是和这个2周前的修复有关

这种bug修复只会在最新的版本吗,官方会把以前的版本也修复了吗

这种一般是新版本才会修复