airflow-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (Jira)" <j...@apache.org>
Subject [jira] [Commented] (AIRFLOW-5393) UI crash in the Ad Hoc Query menu
Date Mon, 23 Sep 2019 11:45:00 GMT

    [ https://issues.apache.org/jira/browse/AIRFLOW-5393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16935773#comment-16935773
] 

ASF subversion and git services commented on AIRFLOW-5393:
----------------------------------------------------------

Commit d7067358bd6ebab82549557ff136ea4b81b9ef01 in airflow's branch refs/heads/v1-10-stable
from Ivan Santos
[ https://gitbox.apache.org/repos/asf?p=airflow.git;h=d706735 ]

[AIRFLOW-5393] Fix 500 error from Ad Hoc Query when downloading CSV with no results (#6000)



> 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)

Mime
View raw message