首批通过分布式安全可靠测评,为关键业务系统打造
DAG 报错 OB_SIZE_OVERFLOW(4019)/OB_EAGAIN(4023)
更新时间:2024-04-11 06:21
问题现象
DAG 调度器在调度过程中出现报错 OB_SIZE_OVERFLOW(4019)/OB_EAGAIN(4023)。
问题原因
DAG 在执行过程中,调度了同样执行任务的 DAG,在添加到 DAG 调度器中的时候发现了有同样任务的 DAG 正在执行中,会报错 OB_EAGAIN(4023)。
DAG 调度器中存在一个队列,用于保存等待执行的任务。如果这个队列满了,尝试添加新的 DAG 时就会引发 OB_SIZE_OVERFLOW(4019) 错误。
影响版本
OceanBase 数据库所有版本。
解决方法
出现 OB_EAGAIN(4023) 报错,解决该错误的方法为等待当前执行中的同类型任务的 DAG 完成,一旦当前任务结束,系统便可以接受新的 DAG 添加请求。
出现 OB_SIZE_OVERFLOW(4019) 报错,解决该错误的方法为需要等待队列中现有的 DAG 被消耗,即执行完成或被移除,在队列腾出空间后,系统将允许添加新的 DAG。