Azure批处理任务陷入运行状态

时间:2017-12-06 12:40:57

标签: azure azure-batch

我在Azure Batch上有几个任务停留在Running状态,尽管节点服务器对它没有任何了解(没有在那里运行,没有找到文件夹)。 GUI中的任何任务操作(终止,删除,在节点上显示文件)都以There was an error while terminating task t20171129-0010-03. The server returned '500 Internal Server Error'.结尾。这种情况在不同的池/工作/任务中发生过几次。

现在我检查了节点本身的调试文件,问题似乎是由无法扩展租约并随后从节点删除任务引起的,但是中止尝试更新任务表没有活动队列租约

这是我可以避免的,还是Azure Batch服务中的一个错误?究竟什么是“租约”以及需要更新的频率? (我的Azure订阅不包含技术支持)。

来自日志的有趣行:

agent.task.lease■lease.py■_renew_lease_unsafe_async■106■1398■MainThread■139690855581440■extending lease for pd1batch 22F55DC6E98C8653$1a-python 22F4F1C234F19066$job-1$t20171129-0010-06
requests.packages.urllib3.connectionpool■connectionpool.py■_make_request■387■1398■Thread-1■139690661328640■"PUT /pd1batch-a-fa357c64-5c3d-4db8-9366-680943d2c20d/messages/821bf60d-3ba5-43a1-9c3d-c7500758bfea?sv=2015-07-08&se=2017-12-06T00%3A42%3A17Z&sp=up&sig=XXX&visibilitytimeout=360&popreceipt=AwAAAAMAAAAAAAAAFePc%2BR5u0wEBAAAA HTTP/1.1" 404 221
azurestorage.helper.HTTPNotFoundError: 404 Client Error: The specified message does not exist. for url: https://watbl2prod1.queue.core.windows.net/pd1batch-a-fa357c64-5c3d-4db8-9366-680943d2c20d/messages/821bf60d-3ba5-43a1-9c3d-c7500758bfea?sv=2015-07-08&se=2017-12-06T00%3A42%3A17Z&sp=up&sig=mU9501N4HHuDeRWuA7qMNni9M%2Fbb83OWLF8AW0%2B4nQE%3D&visibilitytimeout=360&popreceipt=AwAAAAMAAAAAAAAAFePc%2BR5u0wEBAAAA
agent.task.lease■lease.py■_renew_lease_unsafe_async■119■1398■MainThread■139690855581440■failed to extend lease for pd1batch 22F55DC6E98C8653$1a-python 22F4F1C234F19066$job-1$t20171129-0010-06
agent.task.manager■manager.py■handle_task_lease_extension_error_async■4713■1398■MainThread■139690855581440■deleting task pd1batch 22F55DC6E98C8653$1a-python 22F4F1C234F19066$job-1$t20171129-0010-06$0 because lease was lost
agent.task.manager■manager.py■_postprocess_execute_task_async■2255■1398■MainThread■139690855581440■updating row in task table for: pd1batch 22F55DC6E98C8653$1a-python 22F4F1C234F19066$job-1$t20171129-0010-06$0
agent.task.manager■manager.py■_update_tasktable_entity_async■1624■1398■MainThread■139690855581440■aborting attempt to update task table without an active queue lease for pd1batch 22F55DC6E98C8653$1a-python 22F4F1C234F19066$job-1$t20171129-0010-06$0

整个日志:https://pastebin.com/fkqTRuBe

1 个答案:

答案 0 :(得分:1)

目前,Azure批处理任务的总生命周期限制为7天,从提交作业到注释here

达到此限制时,系统中存在阻止任务状态更新传播的问题。但是,如果您观察任务运行的节点状态,它将返回空闲状态(假设没有安排任何其他任务或当前正在运行)。

您有几种方法可以避免这种情况。如果您的工作负载可以扩展或迁移到性能更高的VM类型,以便您的任务在时间限制内完成。如果您可以通过执行分布计算或将问题分解为更小的尺寸并以令人尴尬的平行方式运行来扩展您的问题(或进一步扩展),这可能有助于解决您的问题。

目前的行为不是非常用户友好。有计划在未来增加这个限制。