奇异气流行为与变量/GCP秘密



我最近观察到一些非常奇怪的行为在气流(运行在Google Cloud Composer):

我更新了我的DAG,它被部署到dags目录(一个Google存储桶)。

气流报告和错误:我试图查找的GCP秘密之一(与Variable.get("varname"))未找到:

KeyError(f'变量{key}不存在')

我检查了秘密管理器,钥匙在那里,适当的前缀("airflow-variables-")。

这似乎很奇怪,但我没有时间去研究它。过了一会儿我又回来了,刷新了页面,这一次,气流仍然只报告了一个错误,但它抱怨的是不同的变量,而也存在

我决定每~10分钟刷新一次,并注意到每次刷新气流UI时,气流抱怨的变量有时都会发生变化。

还有一个实例,其中气流没有报告任何错误,并向我展示了我新更新的dag -我希望我有机会运行它们!

有人听说过气流做这样的事情吗?有人知道发生了什么吗?

(气流版本为2.2.3,运行在Google Cloud Composer)

在日志中挖掘,我看到了一些与检索秘密相关的超时消息。在此基础上的更多研究表明,对Variable.get的过多调用可能会显著降低速度。查看我的代码,我意识到我的文件有许多冗余调用来检索变量。

我重构了这样一种方式,即大多数气流变量只被检索一次,它们的值被传递到需要它们的代码中。问题似乎已经解决了。

最新更新