You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Apache Spark (JIRA)" <ji...@apache.org> on 2018/09/02 18:04:02 UTC

[jira] [Assigned] (AIRFLOW-2799) Filtering UI objects by datetime is broken

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

Apache Spark reassigned AIRFLOW-2799:
-------------------------------------

    Assignee:     (was: Holden Karau's magical unicorn)

> Filtering UI objects by datetime is broken 
> -------------------------------------------
>
>                 Key: AIRFLOW-2799
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-2799
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: ui, webserver
>    Affects Versions: 2.0.0
>         Environment: Debian Stretch, Python 3.5.3
>            Reporter: Kevin Campbell
>            Priority: Major
>
> On master (49fd23a3ee0269e2b974648f4a823c1d0b6c12ec) searching objects via the user interface is broken for datetime fields.
> Create a new installation
>  Create a test dag (example_bash_operator)
>  Start webserver and scheduler
>  Enable dag
> On web UI, go to Browse > Task Instances
>  Search for task instances with execution_date greater than 5 days ago
>  You will get an exception
> {code:java}
>                           ____/ (  (    )   )  \___
>                          /( (  (  )   _    ))  )   )\
>                        ((     (   )(    )  )   (   )  )
>                      ((/  ( _(   )   (   _) ) (  () )  )
>                     ( (  ( (_)   ((    (   )  .((_ ) .  )_
>                    ( (  )    (      (  )    )   ) . ) (   )
>                   (  (   (  (   ) (  _  ( _) ).  ) . ) ) ( )
>                   ( (  (   ) (  )   (  ))     ) _)(   )  )  )
>                  ( (  ( \ ) (    (_  ( ) ( )  )   ) )  )) ( )
>                   (  (   (  (   (_ ( ) ( _    )  ) (  )  )   )
>                  ( (  ( (  (  )     (_  )  ) )  _)   ) _( ( )
>                   ((  (   )(    (     _    )   _) _(_ (  (_ )
>                    (_((__(_(__(( ( ( |  ) ) ) )_))__))_)___)
>                    ((__)        \\||lll|l||///          \_))
>                             (   /(/ (  )  ) )\   )
>                           (    ( ( ( | | ) ) )\   )
>                            (   /(| / ( )) ) ) )) )
>                          (     ( ((((_(|)_)))))     )
>                           (      ||\(|(|)|/||     )
>                         (        |(||(||)||||        )
>                           (     //|/l|||)|\\ \     )
>                         (/ / //  /|//||||\\  \ \  \ _)
> -------------------------------------------------------------------------------
> Node: wave.diffractive.io
> -------------------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1116, in _execute_context
>     context = constructor(dialect, self, conn, *args)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 649, in _init_compiled
>     for key in compiled_params
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 649, in <genexpr>
>     for key in compiled_params
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/sql/type_api.py", line 1078, in process
>     return process_param(value, dialect)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy_utc/sqltypes.py", line 30, in process_bind_param
>     raise ValueError('naive datetime is disallowed')
> ValueError: naive datetime is disallowed
> The above exception was the direct cause of the following exception:
> Traceback (most recent call last):
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask/app.py", line 1982, in wsgi_app
>     response = self.full_dispatch_request()
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask/app.py", line 1614, in full_dispatch_request
>     rv = self.handle_user_exception(e)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask/app.py", line 1517, in handle_user_exception
>     reraise(exc_type, exc_value, tb)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
>     raise value
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
>     rv = self.dispatch_request()
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
>     return self.view_functions[rule.endpoint](**req.view_args)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask_admin/base.py", line 69, in inner
>     return self._run_view(f, *args, **kwargs)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask_admin/base.py", line 368, in _run_view
>     return fn(self, *args, **kwargs)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask_admin/model/base.py", line 1818, in index_view
>     view_args.search, view_args.filters)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/flask_admin/contrib/sqla/view.py", line 969, in get_list
>     count = count_query.scalar() if count_query else None
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2843, in scalar
>     ret = self.one()
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2814, in one
>     ret = self.one_or_none()
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2784, in one_or_none
>     ret = list(self)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2855, in __iter__
>     return self._execute_and_instances(context)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2878, in _execute_and_instances
>     result = conn.execute(querycontext.statement, self._params)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 945, in execute
>     return meth(self, multiparams, params)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
>     return connection._execute_clauseelement(self, multiparams, params)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
>     compiled_sql, distilled_params
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1121, in _execute_context
>     None, None)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
>     exc_info
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
>     reraise(type(exception), exception, tb=exc_tb, cause=cause)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 186, in reraise
>     raise value.with_traceback(tb)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1116, in _execute_context
>     context = constructor(dialect, self, conn, *args)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 649, in _init_compiled
>     for key in compiled_params
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 649, in <genexpr>
>     for key in compiled_params
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy/sql/type_api.py", line 1078, in process
>     return process_param(value, dialect)
>   File "/home/kev/.virtualenvs/airflow/local/lib/python3.5/site-packages/sqlalchemy_utc/sqltypes.py", line 30, in process_bind_param
>     raise ValueError('naive datetime is disallowed')
> sqlalchemy.exc.StatementError: (builtins.ValueError) naive datetime is disallowed [SQL: 'SELECT count(%(count_2)s) AS count_1 \nFROM task_instance \nWHERE task_instance.execution_date > %(execution_date_1)s'] [parameters: [{}]]
> {code}
> This appears to have been introduced in https://issues.apache.org/jira/browse/AIRFLOW-288
> I've written a patch for this, which appears to resolve the issue. Will raise a PR.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)