Azure DevOps 发布管道 AttributeError: type object 'Retry' has no attribute 'DEFAULT_METHOD_WHITELIST'

问题描述 投票:0回答:1

我有一个发布管道,它在 2023 年 5 月 4 日之前一直运行良好,当时它开始抛出此错误并在尝试启动 Databricks 集群时挂在重试循环中。日志看起来像这样,直到用户手动取消它才会退出:

2023-05-04T15:31:48.9504235Z ##[section]Starting: Start cluster
2023-05-04T15:31:48.9507476Z ==============================================================================
2023-05-04T15:31:48.9507600Z Task         : Start a Databricks Cluster
2023-05-04T15:31:48.9507679Z Description  : Make sure a Databricks Cluster is started
2023-05-04T15:31:48.9507786Z Version      : 0.5.6
2023-05-04T15:31:48.9507851Z Author       : Microsoft DevLabs
2023-05-04T15:31:48.9507957Z Help         : 
2023-05-04T15:31:48.9508027Z ==============================================================================
2023-05-04T15:31:49.5839599Z parse error: Invalid numeric literal at line 1, column 6
2023-05-04T15:31:49.6142380Z Cluster *** not running, turning on...
2023-05-04T15:31:49.7846916Z Error: AttributeError: type object 'Retry' has no attribute 'DEFAULT_METHOD_WHITELIST'
2023-05-04T15:31:49.9842231Z parse error: Invalid numeric literal at line 1, column 6
2023-05-04T15:32:20.0262096Z Starting...
2023-05-04T15:32:20.2317560Z parse error: Invalid numeric literal at line 1, column 6
2023-05-04T15:32:50.2656819Z Starting...
2023-05-04T15:32:50.4489482Z parse error: Invalid numeric literal at line 1, column 6
2023-05-04T15:33:20.4791525Z Starting...
2023-05-04T15:33:20.6468387Z parse error: Invalid numeric literal at line 1, column 6
2023-05-04T15:33:50.6758000Z Starting...
2023-05-04T15:33:50.9257125Z parse error: Invalid numeric literal at line 1, column 6
2023-05-04T15:34:20.9617006Z Starting...
2023-05-04T15:34:21.1491705Z parse error: Invalid numeric literal at line 1, column 6
2023-05-04T15:34:51.1782850Z Starting...
2023-05-04T15:34:51.3835540Z parse error: Invalid numeric literal at line 1, column 6
2023-05-04T15:35:21.4213881Z Starting...
2023-05-04T15:35:21.6628904Z parse error: Invalid numeric literal at line 1, column 6
2023-05-04T15:35:51.6999474Z Starting...
2023-05-04T15:35:51.8763360Z parse error: Invalid numeric literal at line 1, column 6

这发生在发布到几个不同环境的管道上。

我尝试重新启动 Databricks 集群,但是一旦集群再次启动,同样的事情就会发生。

如果删除了 Start Cluster 步骤,下一步也会发生同样的情况,它会尝试将笔记本部署到工作区。

python azure-devops azure-databricks azure-pipelines-release-pipeline urllib3
1个回答
0
投票

图书馆于 5/3/23 更新:https://urllib3.readthedocs.io/en/2.0.2/changelog.html#id1

较新版本的库(2.0.0、2.0.1、2.0.2)没有重试类的 DEFAULT_METHOD_WHITELIST 属性。像 1.24.3 这样的早期版本确实有它。

DevOps 似乎没有更新他们的框架以与新版本兼容。

变更日志显示 2.0.0 更新发生在 23 年 4 月 26 日,但问题并没有出现在 DevOps 中,即使 2.0.0 也没有该属性。很难知道变更日志是否 100% 准确,2.0.2 中到底发生了什么,以及错误是否反映了真正发生的事情。

我们通过在 Databricks 集群启动之前执行 pip install urllib3==1.24.3 找到了解决方法,并解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.