CodeingBoy opened a new issue #17262:
URL: https://github.com/apache/superset/issues/17262


   While doing complex query in SQLLab (which will use MapReduce and create 
tracking url), will cause this error:
   ```
   Instance <Query at 0x7fdf546d5fd0> is not bound to a Session; attribute 
refresh operation cannot proceed (Background on this error at: 
http://sqlalche.me/e/13/bhk3)
   ```
   
   #### How to reproduce the bug
   
   1. Go to 'SQL Lab'
   2. Execute some complex query(it should not be simple like `SELECT * FROM 
table`, that will not use MapReduce)
   3. See error
   
   Here's a sample data SQL you can reproduce:
   ```
   CREATE TABLE some_table(
       a INT,
       b STRING
   );
   INSERT INTO some_table(a, b) VALUES (1, '1'), (2, '2'), (3, '3'), (4, '4');
   ```
   
   While executing `SELECT a, COUNT(1) AS count FROM some_table GROUP BY a;`, 
will cause this error. (Screenshot below)
   
   ### Expected results
   
   Execute query with no error and display results.
   
   ### Actual results
   
   Causing this error:
   ```
   Database error
   Instance <Query at 0x7fdf4c04dd10> is not bound to a Session; attribute 
refresh operation cannot proceed (Background on this error at: 
http://sqlalche.me/e/13/bhk3)
   ```
   
   Logs will print this stack trace:
   ```
   Instance <Query at 0x7fdf0c7da990> is not bound to a Session; attribute 
refresh operation cannot proceed (Background on this error at: 
http://sqlalche.me/e/13/bhk3)
   Traceback (most recent call last):
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1277, in _execute_context
       cursor, statement, parameters, context
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 
593, in do_execute
       cursor.execute(statement, parameters)
   sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported 
type.
   
   The above exception was the direct cause of the following exception:
   
   Traceback (most recent call last):
     File "/app/superset/sql_lab.py", line 268, in execute_sql_statement
       db_engine_spec.handle_cursor(cursor, query, session)
     File "/app/superset/db_engine_specs/hive.py", line 376, in handle_cursor
       session.commit()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1042, in commit
       self.transaction.commit()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 504, in commit
       self._prepare_impl()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 483, in _prepare_impl
       self.session.flush()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2536, in flush
       self._flush(objects)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2678, in _flush
       transaction.rollback(_capture_exception=True)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 
70, in __exit__
       with_traceback=exc_tb,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", 
line 182, in raise_
       raise exception
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2638, in _flush
       flush_context.execute()
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 
422, in execute
       rec.execute(self)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 
589, in execute
       uow,
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 
236, in save_obj
       update,
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 
995, in _emit_update_statements
       statement, multiparams
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1011, in execute
       return meth(self, multiparams, params)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", 
line 298, in _execute_on_connection
       return connection._execute_clauseelement(self, multiparams, params)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1130, in _execute_clauseelement
       distilled_params,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1317, in _execute_context
       e, statement, parameters, cursor, context
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1511, in _handle_dbapi_exception
       sqlalchemy_exception, with_traceback=exc_info[2], from_=e
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", 
line 182, in raise_
       raise exception
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1277, in _execute_context
       cursor, statement, parameters, context
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 
593, in do_execute
       cursor.execute(statement, parameters)
   sqlalchemy.exc.InterfaceError: (sqlite3.InterfaceError) Error binding 
parameter 0 - probably unsupported type.
   [SQL: UPDATE "query" SET tracking_url=?, changed_on=? WHERE "query".id = ?]
   [parameters: (<function <lambda> at 0x7fdf5959d3b0>, '2021-10-28 
02:25:09.432381', 35)]
   (Background on this error at: http://sqlalche.me/e/13/rvf5)
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/sql_lab.py", line 483, in execute_sql_statements
       apply_ctas,
     File "/app/superset/sql_lab.py", line 298, in execute_sql_statement
       session.refresh(query)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1718, in refresh
       only_load_props=attribute_names,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 206, in load_on_ident
       identity_token=identity_token,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 286, in load_on_pk_identity
       return q.one()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3490, in one
       ret = self.one_or_none()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3459, in one_or_none
       ret = list(self)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3535, in __iter__
       return self._execute_and_instances(context)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3557, in _execute_and_instances
       querycontext, self._connection_from_session, close_with_result=True
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3572, in _get_bind_args
       mapper=self._bind_mapper(), clause=querycontext.statement, **kw
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3550, in _connection_from_session
       conn = self.session.connection(**kw)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1141, in connection
       execution_options=execution_options,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1147, in _connection_for_bind
       engine, execution_options
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 409, in _connection_for_bind
       self._assert_active()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 296, in _assert_active
       code="7s2a",
   sqlalchemy.exc.InvalidRequestError: This Session's transaction has been 
rolled back due to a previous exception during flush. To begin a new 
transaction with this Session, first issue Session.rollback(). Original 
exception was: (sqlite3.InterfaceError) Error binding parameter 0 - probably 
unsupported type.
   [SQL: UPDATE "query" SET tracking_url=?, changed_on=? WHERE "query".id = ?]
   [parameters: (<function <lambda> at 0x7fdf5959d3b0>, '2021-10-28 
02:25:09.432381', 35)]
   (Background on this error at: http://sqlalche.me/e/13/rvf5) (Background on 
this error at: http://sqlalche.me/e/13/7s2a)
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/sql_lab.py", line 186, in get_sql_results
       log_params=log_params,
     File "/app/superset/sql_lab.py", line 496, in execute_sql_statements
       ex, query, session, payload, prefix_message
     File "/app/superset/sql_lab.py", line 112, in handle_query_error
       errors = query.database.db_engine_spec.extract_errors(str(ex))
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
287, in __get__
       return self.impl.get(instance_state(instance), dict_)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
723, in get
       value = self.callable_(state, passive)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 
727, in _load_for_state
       session, state, passive
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 
775, in _get_ident_for_use_get
       for pk in self.mapper.primary_key
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 
775, in <listcomp>
       for pk in self.mapper.primary_key
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/mapper.py", 
line 2845, in _get_state_attr_by_column
       return state.manager[prop.key].impl.get(state, dict_, passive=passive)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
718, in get
       value = state._load_expired(state, passive)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/state.py", 
line 652, in _load_expired
       self.manager.deferred_scalar_loader(self, toload)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 1010, in load_scalar_attributes
       only_load_props=attribute_names,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 206, in load_on_ident
       identity_token=identity_token,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 286, in load_on_pk_identity
       return q.one()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3490, in one
       ret = self.one_or_none()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3459, in one_or_none
       ret = list(self)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3535, in __iter__
       return self._execute_and_instances(context)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3557, in _execute_and_instances
       querycontext, self._connection_from_session, close_with_result=True
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3572, in _get_bind_args
       mapper=self._bind_mapper(), clause=querycontext.statement, **kw
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3550, in _connection_from_session
       conn = self.session.connection(**kw)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1141, in connection
       execution_options=execution_options,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1147, in _connection_for_bind
       engine, execution_options
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 409, in _connection_for_bind
       self._assert_active()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 296, in _assert_active
       code="7s2a",
   sqlalchemy.exc.InvalidRequestError: This Session's transaction has been 
rolled back due to a previous exception during flush. To begin a new 
transaction with this Session, first issue Session.rollback(). Original 
exception was: (sqlite3.InterfaceError) Error binding parameter 0 - probably 
unsupported type.
   [SQL: UPDATE "query" SET tracking_url=?, changed_on=? WHERE "query".id = ?]
   [parameters: (<function <lambda> at 0x7fdf5959d3b0>, '2021-10-28 
02:25:09.432381', 35)]
   (Background on this error at: http://sqlalche.me/e/13/rvf5) (Background on 
this error at: http://sqlalche.me/e/13/7s2a)
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/sql_lab.py", line 151, in get_query
       return session.query(Query).filter_by(id=query_id).one()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3490, in one
       ret = self.one_or_none()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3459, in one_or_none
       ret = list(self)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3534, in __iter__
       self.session._autoflush()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1618, in _autoflush
       self.flush()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2536, in flush
       self._flush(objects)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2633, in _flush
       subtransactions=True
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 953, in begin
       self.transaction = self.transaction._begin(nested=nested)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 317, in _begin
       self._assert_active()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 296, in _assert_active
       code="7s2a",
   sqlalchemy.exc.InvalidRequestError: This Session's transaction has been 
rolled back due to a previous exception during flush. To begin a new 
transaction with this Session, first issue Session.rollback(). Original 
exception was: (sqlite3.InterfaceError) Error binding parameter 0 - probably 
unsupported type.
   [SQL: UPDATE "query" SET tracking_url=?, changed_on=? WHERE "query".id = ?]
   [parameters: (<function <lambda> at 0x7fdf5959d3b0>, '2021-10-28 
02:25:09.432381', 35)]
   (Background on this error at: http://sqlalche.me/e/13/rvf5) (Background on 
this error at: http://sqlalche.me/e/13/7s2a)
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/usr/local/lib/python3.7/site-packages/backoff/_sync.py", line 94, 
in retry
       ret = target(*args, **kwargs)
     File "/app/superset/sql_lab.py", line 153, in get_query
       raise SqlLabException("Failed at getting query")
   superset.sql_lab.SqlLabException: Failed at getting query
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/views/core.py", line 2534, in _sql_json_sync
       log_params=log_params,
     File "/usr/local/lib/python3.7/site-packages/celery/local.py", line 191, 
in __call__
       return self._get_current_object()(*a, **kw)
     File "/app/superset/initialization/__init__.py", line 103, in __call__
       return task_base.__call__(self, *args, **kwargs)
     File "/usr/local/lib/python3.7/site-packages/celery/app/task.py", line 
393, in __call__
       return self.run(*args, **kwargs)
     File "/app/superset/sql_lab.py", line 191, in get_sql_results
       query = get_query(query_id, session)
     File "/usr/local/lib/python3.7/site-packages/backoff/_sync.py", line 110, 
in retry
       _call_handlers(on_backoff, *details, wait=seconds)
     File "/usr/local/lib/python3.7/site-packages/backoff/_sync.py", line 20, 
in _call_handlers
       hdlr(details)
     File "/app/superset/sql_lab.py", line 126, in get_query_backoff_handler
       query_id = details["kwargs"]["query_id"]
   KeyError: 'query_id'
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/views/base.py", line 204, in wraps
       return f(self, *args, **kwargs)
     File "/app/superset/utils/log.py", line 241, in wrapper
       value = f(*args, **kwargs)
     File "/app/superset/views/core.py", line 2573, in sql_json
       return self.sql_json_exec(request.json, log_params)
     File "/app/superset/views/core.py", line 2762, in sql_json_exec
       session, rendered_query, query, expand_data, log_params
     File "/app/superset/views/core.py", line 2551, in _sql_json_sync
       logger.exception("Query %i failed unexpectedly", query.id)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
287, in __get__
       return self.impl.get(instance_state(instance), dict_)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
718, in get
       value = state._load_expired(state, passive)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/state.py", 
line 652, in _load_expired
       self.manager.deferred_scalar_loader(self, toload)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 944, in load_scalar_attributes
       "attribute refresh operation cannot proceed" % (state_str(state))
   sqlalchemy.orm.exc.DetachedInstanceError: Instance <Query at 0x7fdf0c7da990> 
is not bound to a Session; attribute refresh operation cannot proceed 
(Background on this error at: http://sqlalche.me/e/13/bhk3)
   2021-10-28 02:25:09,668:ERROR:superset.views.base:Instance <Query at 
0x7fdf0c7da990> is not bound to a Session; attribute refresh operation cannot 
proceed (Background on this error at: http://sqlalche.me/e/13/bhk3)
   Traceback (most recent call last):
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1277, in _execute_context
       cursor, statement, parameters, context
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 
593, in do_execute
       cursor.execute(statement, parameters)
   sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported 
type.
   
   The above exception was the direct cause of the following exception:
   
   Traceback (most recent call last):
     File "/app/superset/sql_lab.py", line 268, in execute_sql_statement
       db_engine_spec.handle_cursor(cursor, query, session)
     File "/app/superset/db_engine_specs/hive.py", line 376, in handle_cursor
       session.commit()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1042, in commit
       self.transaction.commit()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 504, in commit
       self._prepare_impl()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 483, in _prepare_impl
       self.session.flush()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2536, in flush
       self._flush(objects)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2678, in _flush
       transaction.rollback(_capture_exception=True)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 
70, in __exit__
       with_traceback=exc_tb,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", 
line 182, in raise_
       raise exception
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2638, in _flush
       flush_context.execute()
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 
422, in execute
       rec.execute(self)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 
589, in execute
       uow,
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 
236, in save_obj
       update,
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 
995, in _emit_update_statements
       statement, multiparams
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1011, in execute
       return meth(self, multiparams, params)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", 
line 298, in _execute_on_connection
       return connection._execute_clauseelement(self, multiparams, params)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1130, in _execute_clauseelement
       distilled_params,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1317, in _execute_context
       e, statement, parameters, cursor, context
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1511, in _handle_dbapi_exception
       sqlalchemy_exception, with_traceback=exc_info[2], from_=e
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", 
line 182, in raise_
       raise exception
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", 
line 1277, in _execute_context
       cursor, statement, parameters, context
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 
593, in do_execute
       cursor.execute(statement, parameters)
   sqlalchemy.exc.InterfaceError: (sqlite3.InterfaceError) Error binding 
parameter 0 - probably unsupported type.
   [SQL: UPDATE "query" SET tracking_url=?, changed_on=? WHERE "query".id = ?]
   [parameters: (<function <lambda> at 0x7fdf5959d3b0>, '2021-10-28 
02:25:09.432381', 35)]
   (Background on this error at: http://sqlalche.me/e/13/rvf5)
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/sql_lab.py", line 483, in execute_sql_statements
       apply_ctas,
     File "/app/superset/sql_lab.py", line 298, in execute_sql_statement
       session.refresh(query)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1718, in refresh
       only_load_props=attribute_names,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 206, in load_on_ident
       identity_token=identity_token,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 286, in load_on_pk_identity
       return q.one()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3490, in one
       ret = self.one_or_none()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3459, in one_or_none
       ret = list(self)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3535, in __iter__
       return self._execute_and_instances(context)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3557, in _execute_and_instances
       querycontext, self._connection_from_session, close_with_result=True
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3572, in _get_bind_args
       mapper=self._bind_mapper(), clause=querycontext.statement, **kw
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3550, in _connection_from_session
       conn = self.session.connection(**kw)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1141, in connection
       execution_options=execution_options,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1147, in _connection_for_bind
       engine, execution_options
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 409, in _connection_for_bind
       self._assert_active()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 296, in _assert_active
       code="7s2a",
   sqlalchemy.exc.InvalidRequestError: This Session's transaction has been 
rolled back due to a previous exception during flush. To begin a new 
transaction with this Session, first issue Session.rollback(). Original 
exception was: (sqlite3.InterfaceError) Error binding parameter 0 - probably 
unsupported type.
   [SQL: UPDATE "query" SET tracking_url=?, changed_on=? WHERE "query".id = ?]
   [parameters: (<function <lambda> at 0x7fdf5959d3b0>, '2021-10-28 
02:25:09.432381', 35)]
   (Background on this error at: http://sqlalche.me/e/13/rvf5) (Background on 
this error at: http://sqlalche.me/e/13/7s2a)
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/sql_lab.py", line 186, in get_sql_results
       log_params=log_params,
     File "/app/superset/sql_lab.py", line 496, in execute_sql_statements
       ex, query, session, payload, prefix_message
     File "/app/superset/sql_lab.py", line 112, in handle_query_error
       errors = query.database.db_engine_spec.extract_errors(str(ex))
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
287, in __get__
       return self.impl.get(instance_state(instance), dict_)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
723, in get
       value = self.callable_(state, passive)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 
727, in _load_for_state
       session, state, passive
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 
775, in _get_ident_for_use_get
       for pk in self.mapper.primary_key
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 
775, in <listcomp>
       for pk in self.mapper.primary_key
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/mapper.py", 
line 2845, in _get_state_attr_by_column
       return state.manager[prop.key].impl.get(state, dict_, passive=passive)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
718, in get
       value = state._load_expired(state, passive)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/state.py", 
line 652, in _load_expired
       self.manager.deferred_scalar_loader(self, toload)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 1010, in load_scalar_attributes
       only_load_props=attribute_names,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 206, in load_on_ident
       identity_token=identity_token,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 286, in load_on_pk_identity
       return q.one()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3490, in one
       ret = self.one_or_none()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3459, in one_or_none
       ret = list(self)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3535, in __iter__
       return self._execute_and_instances(context)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3557, in _execute_and_instances
       querycontext, self._connection_from_session, close_with_result=True
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3572, in _get_bind_args
       mapper=self._bind_mapper(), clause=querycontext.statement, **kw
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3550, in _connection_from_session
       conn = self.session.connection(**kw)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1141, in connection
       execution_options=execution_options,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1147, in _connection_for_bind
       engine, execution_options
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 409, in _connection_for_bind
       self._assert_active()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 296, in _assert_active
       code="7s2a",
   sqlalchemy.exc.InvalidRequestError: This Session's transaction has been 
rolled back due to a previous exception during flush. To begin a new 
transaction with this Session, first issue Session.rollback(). Original 
exception was: (sqlite3.InterfaceError) Error binding parameter 0 - probably 
unsupported type.
   [SQL: UPDATE "query" SET tracking_url=?, changed_on=? WHERE "query".id = ?]
   [parameters: (<function <lambda> at 0x7fdf5959d3b0>, '2021-10-28 
02:25:09.432381', 35)]
   (Background on this error at: http://sqlalche.me/e/13/rvf5) (Background on 
this error at: http://sqlalche.me/e/13/7s2a)
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/sql_lab.py", line 151, in get_query
       return session.query(Query).filter_by(id=query_id).one()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3490, in one
       ret = self.one_or_none()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3459, in one_or_none
       ret = list(self)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", 
line 3534, in __iter__
       self.session._autoflush()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 1618, in _autoflush
       self.flush()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2536, in flush
       self._flush(objects)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 2633, in _flush
       subtransactions=True
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 953, in begin
       self.transaction = self.transaction._begin(nested=nested)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 317, in _begin
       self._assert_active()
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", 
line 296, in _assert_active
       code="7s2a",
   sqlalchemy.exc.InvalidRequestError: This Session's transaction has been 
rolled back due to a previous exception during flush. To begin a new 
transaction with this Session, first issue Session.rollback(). Original 
exception was: (sqlite3.InterfaceError) Error binding parameter 0 - probably 
unsupported type.
   [SQL: UPDATE "query" SET tracking_url=?, changed_on=? WHERE "query".id = ?]
   [parameters: (<function <lambda> at 0x7fdf5959d3b0>, '2021-10-28 
02:25:09.432381', 35)]
   (Background on this error at: http://sqlalche.me/e/13/rvf5) (Background on 
this error at: http://sqlalche.me/e/13/7s2a)
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/usr/local/lib/python3.7/site-packages/backoff/_sync.py", line 94, 
in retry
       ret = target(*args, **kwargs)
     File "/app/superset/sql_lab.py", line 153, in get_query
       raise SqlLabException("Failed at getting query")
   superset.sql_lab.SqlLabException: Failed at getting query
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/views/core.py", line 2534, in _sql_json_sync
       log_params=log_params,
     File "/usr/local/lib/python3.7/site-packages/celery/local.py", line 191, 
in __call__
       return self._get_current_object()(*a, **kw)
     File "/app/superset/initialization/__init__.py", line 103, in __call__
       return task_base.__call__(self, *args, **kwargs)
     File "/usr/local/lib/python3.7/site-packages/celery/app/task.py", line 
393, in __call__
       return self.run(*args, **kwargs)
     File "/app/superset/sql_lab.py", line 191, in get_sql_results
       query = get_query(query_id, session)
     File "/usr/local/lib/python3.7/site-packages/backoff/_sync.py", line 110, 
in retry
       _call_handlers(on_backoff, *details, wait=seconds)
     File "/usr/local/lib/python3.7/site-packages/backoff/_sync.py", line 20, 
in _call_handlers
       hdlr(details)
     File "/app/superset/sql_lab.py", line 126, in get_query_backoff_handler
       query_id = details["kwargs"]["query_id"]
   KeyError: 'query_id'
   
   During handling of the above exception, another exception occurred:
   
   Traceback (most recent call last):
     File "/app/superset/views/base.py", line 204, in wraps
       return f(self, *args, **kwargs)
     File "/app/superset/utils/log.py", line 241, in wrapper
       value = f(*args, **kwargs)
     File "/app/superset/views/core.py", line 2573, in sql_json
       return self.sql_json_exec(request.json, log_params)
     File "/app/superset/views/core.py", line 2762, in sql_json_exec
       session, rendered_query, query, expand_data, log_params
     File "/app/superset/views/core.py", line 2551, in _sql_json_sync
       logger.exception("Query %i failed unexpectedly", query.id)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
287, in __get__
       return self.impl.get(instance_state(instance), dict_)
     File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
718, in get
       value = state._load_expired(state, passive)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/state.py", 
line 652, in _load_expired
       self.manager.deferred_scalar_loader(self, toload)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", 
line 944, in load_scalar_attributes
       "attribute refresh operation cannot proceed" % (state_str(state))
   sqlalchemy.orm.exc.DetachedInstanceError: Instance <Query at 0x7fdf0c7da990> 
is not bound to a Session; attribute refresh operation cannot proceed 
(Background on this error at: http://sqlalche.me/e/13/bhk3)
   ```
   
   #### Screenshots
   
   
![image](https://user-images.githubusercontent.com/5211253/139175658-0c52230e-14c9-436c-98ed-59ea03d2c4b5.png)
   
   ### Environment
   
   - browser type and version: Google Chrome 95.0.4638.54 (Official Build) 
(64-bit)
   - superset version: 1.3.1
   - python version: Python 3.7.9
   - node.js version: I didn't find this one since running superset in docker
   - Note: running superset in docker
     - Image version:  clone from git tag `1.3.1` and build from it
     - Docker version: Docker version 20.10.9, build c2ea9bc
   - any feature flags active: `{"ALERT_REPORTS": True}`
   
   ### Checklist
   
   - [x] I have checked the superset logs for python stacktraces and included 
it here as text if there are any.
   - [x] I have reproduced the issue with at least the latest released version 
of superset.
   - [x] I have checked the issue tracker for the same issue and I haven't 
found one similar.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to