После обновления с Airflow 1.9 до 1.10 я больше не могу видеть длительность задачи в веб-интерфейсе. Когда я нажимаю на длительность задачи, я получаю следующую трассировку:
Traceback (most recent call last):
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/flask_admin/base.py", line 69, in inner
return self._run_view(f, *args, **kwargs)
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/flask_admin/base.py", line 368, in _run_view
return fn(self, *args, **kwargs)
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/flask_login.py", line 758, in decorated_view
return func(*args, **kwargs)
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/airflow/www/utils.py", line 270, in wrapper
return f(*args, **kwargs)
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/airflow/utils/db.py", line 74, in wrapper
return func(*args, **kwargs)
File "/home/ubuntu/.local/share/virtualenvs/airflow-YvxPQJVU/lib/python3.6/site-packages/airflow/www/views.py", line 1551, in duration
fails_totals[dict_key] += tf.duration
TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType'
Есть идеи, что вызывает это?
Это происходит только с моими старыми DAGS. Новые DAGS, созданные после обновления, не имеют этой проблемы.
да, но спасибо за предложение
Это известная ошибка. Ожидается PR. github.com/apache/incubator-airflow/pull/4032
Похоже, что в строках ваших старых записей есть NULL
в столбце task_fail.duration
. Выполнение ручного запроса к базе данных может исправить вас: UPDATE task_fail SET duration=0 WHERE duration IS NULL
- при условии, что вы в порядке с изменением записей.
Не забудьте сначала зацепить резервную копию, на всякий случай.
Вы пробовали запустить
airflow upgradedb
?