You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Ash Berlin-Taylor (Jira)" <ji...@apache.org> on 2019/09/23 11:45:00 UTC

[jira] [Resolved] (AIRFLOW-5393) UI crash in the Ad Hoc Query menu

     [ https://issues.apache.org/jira/browse/AIRFLOW-5393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ash Berlin-Taylor resolved AIRFLOW-5393.
----------------------------------------
    Fix Version/s: 1.10.6
       Resolution: Fixed

> UI crash in the Ad Hoc Query menu
> ---------------------------------
>
>                 Key: AIRFLOW-5393
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-5393
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: ui
>    Affects Versions: 1.10.4
>         Environment: Linux
> NAME="Ubuntu"
> VERSION="18.04.2 LTS (Bionic Beaver)"
> Airflow version 1.10.4
> Python 3.6
>            Reporter: ivan de los santos
>            Priority: Minor
>              Labels: beginner, easyfix, patch
>             Fix For: 1.10.6
>
>         Attachments: Captura de pantalla de 2019-09-03 13-42-02.png
>
>
> Airflow UI will crash in the browser returning "Oops" message and the Traceback of the crashing error.
>  
> *How to replicate*: 
>  # Launch airflow webserver -p 8080
>  # Go to the Airflow-UI
>  # Click on "Data Profiling"
>  # Select any connection to a database.
>  # Click on ".csv" button without writing any text on the query field.
>  # You will get an "oops" message with the Traceback.
>  
> *File causing the problem*:  /python3.6/dist-packages/airflow/www/views.py (Line 2317)
>  
> *Reasons of the problem*:
>  #  UnboundLocalError: local variable 'df' referenced before assignment
>  * This means "df" was never declared, in fact, df it is contained in a try / except block so the except is launched before df gets assigned.
> {code:java}
> Traceback (most recent call last):
>   File "/home/rde/.local/lib/python3.6/site-packages/flask/app.py", line 2446, in wsgi_app
>     response = self.full_dispatch_request()
>   File "/home/rde/.local/lib/python3.6/site-packages/flask/app.py", line 1951, in full_dispatch_request
>     rv = self.handle_user_exception(e)
>   File "/home/rde/.local/lib/python3.6/site-packages/flask/app.py", line 1820, in handle_user_exception
>     reraise(exc_type, exc_value, tb)
>   File "/home/rde/.local/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
>     raise value
>   File "/home/rde/.local/lib/python3.6/site-packages/flask/app.py", line 1949, in full_dispatch_request
>     rv = self.dispatch_request()
>   File "/home/rde/.local/lib/python3.6/site-packages/flask/app.py", line 1935, in dispatch_request
>     return self.view_functions[rule.endpoint](**req.view_args)
>   File "/home/rde/.local/lib/python3.6/site-packages/flask_admin/base.py", line 69, in inner
>     return self._run_view(f, *args, **kwargs)
>   File "/home/rde/.local/lib/python3.6/site-packages/flask_admin/base.py", line 368, in _run_view
>     return fn(self, *args, **kwargs)
>   File "/usr/local/lib/python3.6/dist-packages/airflow/www/utils.py", line 375, in view_func
>     return f(*args, **kwargs)
>   File "/usr/local/lib/python3.6/dist-packages/airflow/utils/db.py", line 74, in wrapper
>     return func(*args, **kwargs)
>   File "/usr/local/lib/python3.6/dist-packages/airflow/www/views.py", line 2318, in query
>     response=df.to_csv(index=False),
> UnboundLocalError: local variable 'df' referenced before assignment
> {code}
>  
> *Proposed solution*: checking the *_error_* variable which will be True as it raises an exception "_(2006, "Unknown MySQL server host 'mysql' (2)")_" and df is never assigned.
>  
> {code:java}
>         if csv and not error:
>                 return Response(
>                     response=df.to_csv(index=False),
>                     status=200,
>                     mimetype="application/text")
> {code}
>  
>  
> I am willing to work in this issue, I think it might be already fixed in Github's master branch regardless.
> This is my first open issue.
>  
> Best regards,
> Iván



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