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

ivan de los santos updated AIRFLOW-5393:
----------------------------------------
    Description: 
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 fixed in master tho.

This is my first open issue.

 

Best regards,

Iván

  was:
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: 
            if 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 fixed in master tho.

This is my first open issue.

 

Best regards,

Iván


> 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
>            Reporter: ivan de los santos
>            Priority: Minor
>              Labels: beginner, easyfix, patch
>         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 fixed in master tho.
> This is my first open issue.
>  
> Best regards,
> Iván



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to