Anton Cherkasov created AIRFLOW-6347:
----------------------------------------

             Summary: Can't get task logs in webUI when DAG serialization is 
enabled
                 Key: AIRFLOW-6347
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-6347
             Project: Apache Airflow
          Issue Type: Bug
          Components: webserver
    Affects Versions: 1.10.7
            Reporter: Anton Cherkasov
         Attachments: serialization-disabled.png, serialization_enabled.png

h2. **Description:

When I set next config options in airflow.cfg:
{noformat}
[core]
store_serialized_dags = True
min_serialized_dag_update_interval = 3{noformat}
 

View with task logs shows infinity Js spinner, while in webserver log I see 
next error:


{noformat}
[2019-12-25 14:48:57,640] {{app.py:1891}} ERROR - Exception on 
/get_logs_with_metadata [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2446, in 
wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1951, in 
full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1820, in 
handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in 
reraise
    raise value
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1949, in 
full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1935, in 
dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/www_rbac/decorators.py",
 line 121, in wrapper
    return f(self, *args, **kwargs)
  File 
"/usr/local/lib/python3.7/site-packages/flask_appbuilder/security/decorators.py",
 line 101, in wraps
    return f(self, *args, **kwargs)
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/www_rbac/decorators.py",
 line 56, in wrapper
    return f(*args, **kwargs)
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/utils/db.py", 
line 74, in wrapper
    return func(*args, **kwargs)
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/www_rbac/views.py",
 line 637, in get_logs_with_metadata
    logs, metadata = _get_logs_with_metadata(try_number, metadata)
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/www_rbac/views.py",
 line 628, in _get_logs_with_metadata
    logs, metadatas = handler.read(ti, try_number, metadata=metadata)
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/utils/log/file_task_handler.py",
 line 169, in read
    log, metadata = self._read(task_instance, try_number_element, metadata)
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/utils/log/file_task_handler.py",
 line 98, in _read
    log_relative_path = self._render_filename(ti, try_number)
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/utils/log/file_task_handler.py",
 line 75, in _render_filename
    jinja_context = ti.get_template_context()
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/utils/db.py", 
line 74, in wrapper
    return func(*args, **kwargs)
  File 
"/usr/local/airflow/.local/lib/python3.7/site-packages/airflow/models/taskinstance.py",
 line 1149, in get_template_context
    if 'tables' in task.params:
TypeError: argument of type 'NoneType' is not iterable{noformat}
After some investigation I found that *task.params* field is empty dict when 
DAG serialization is disabled and this field became None object after enabling 
serialization.

Screenshot of _Task Instance Details_ view with *enabled* DAG serialization 
feature: !serialization_enabled.png!

 

Screenshot of _Task Instance Details_ view with *disabled* DAG serialization 
feature:
  !serialization-disabled.png!

 

See the _params_ field.
h2. Steps to reproduce:
 # Install Airflow 1.10.7 or upgrade from previous one
 # Upload some DAG and perform tasks.
 # Enable DAG serialization in airflow.conf
 # Restart airflow scheduler and webserver
 # Go to task's log view
 # See infinity spinner and errors in webserver logs



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to