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  ### 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]
