由于SQL死锁,气流调度程序崩溃

时间:2019-02-08 14:30:58

标签: airflow-scheduler

我正在Celery Executor上运行Airflow 1.9.0。我有两台服务器-一台正在运行调度程序,Web服务器和worker 1,另一台服务器正在运行worker 2和Web服务器。

最近,我们开始面临调度程序崩溃的问题,并且日志显示SQL Server task_instance表中存在死锁,请跟踪下面。

到目前为止,我尝试减少调度程序进程的数量,并且还配置为在sqlAlchemy连接池中只有一个数据库连接,但是没有运气。死锁会发生什么原因?

  

sqlalchemy.exc.ProgrammingError:(pyodbc.ProgrammingError)('42000',   '[42000] [FreeTDS] [SQL Server]事务(进程ID 653)为   被另一个进程锁定在锁定资源上,已被选择   作为僵局的受害者。重新运行事务。 (1205)   (SQLExecDirectW)')

     

[SQL:'UPDATE task_instance SET状态=?从task_instance,dag_run   在哪里task_instance.dag_id IN(?)和task_instance.state IN(?,?)   AND dag_run.dag_id = task_instance.dag_id AND dag_run.execution_date =   task_instance.execution_date和dag_run.state!=?'] [参数:   (无,'generate-xml-report','queue','scheduled','running')]

(此错误的背景位于:http://sqlalche.me/e/f405

0 个答案:

没有答案