Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to delete dashboards #27140

Closed
3 tasks done
shubhshah01 opened this issue Feb 16, 2024 · 11 comments
Closed
3 tasks done

Unable to delete dashboards #27140

shubhshah01 opened this issue Feb 16, 2024 · 11 comments

Comments

@shubhshah01
Copy link

shubhshah01 commented Feb 16, 2024

Bug description

For any existing dashboard or a new untitled empty dashboard, unable to delete it.

DELETE API response

Request URL:
https://<< host >>/api/v1/dashboard/14
Request Method:
DELETE
Status Code:
422 Unprocessable Content
Response
{"message":"Dashboard could not be deleted."}

How to reproduce the bug

  1. Go to dashboards
  2. Click +Dashboard button
  3. Click Discard or Save
  4. Go back to dashboards and try deleting the newly created untitled dashboard
  5. It shows an error Unable to delete

Screenshots/recordings

image

Superset version

3.1.0

Python version

3.9

Node version

16

Browser

Chrome

Additional context

No response

Checklist

  • I have searched Superset docs and Slack and didn't find a solution to my problem.
  • I have searched the GitHub issue tracker and didn't find a similar bug report.
  • I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.
@jbat
Copy link
Contributor

jbat commented Feb 19, 2024

I have the same issue on 3.1.0

Also happening on the GUI as well as API.

"There was an issue deleting TEST COPY - TO BE DELETED: Dashboard could not be deleted."

Logs showing this

 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/dependency.py", line 1207, in _run_crud
2024-02-19T03:29:32.878Z     raise exc.StaleDataError(
2024-02-19T03:29:32.878Z sqlalchemy.orm.exc.StaleDataError: DELETE statement on table 'tagged_object' expected to delete 3 row(s); Only 4 were matched.

Full stack trace

2024-02-19T03:29:32.878Z Traceback (most recent call last):
2024-02-19T03:29:32.878Z   File "/app/superset/daos/base.py", line 222, in delete
2024-02-19T03:29:32.878Z     db.session.commit()
2024-02-19T03:29:32.878Z   File "<string>", line 2, in commit
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1435, in commit
2024-02-19T03:29:32.878Z     self._transaction.commit(_to_root=self.future)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 829, in commit
2024-02-19T03:29:32.878Z     self._prepare_impl()
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 808, in _prepare_impl
2024-02-19T03:29:32.878Z     self.session.flush()
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3367, in flush
2024-02-19T03:29:32.878Z     self._flush(objects)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3507, in _flush
2024-02-19T03:29:32.878Z     transaction.rollback(_capture_exception=True)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
2024-02-19T03:29:32.878Z     compat.raise_(
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
2024-02-19T03:29:32.878Z     raise exception
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3467, in _flush
2024-02-19T03:29:32.878Z     flush_context.execute()
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 456, in execute
2024-02-19T03:29:32.878Z     rec.execute(self)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 577, in execute
2024-02-19T03:29:32.878Z     self.dependency_processor.process_deletes(uow, states)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/dependency.py", line 1110, in process_deletes
2024-02-19T03:29:32.878Z     self._run_crud(
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/dependency.py", line 1207, in _run_crud
2024-02-19T03:29:32.878Z     raise exc.StaleDataError(
2024-02-19T03:29:32.878Z sqlalchemy.orm.exc.StaleDataError: DELETE statement on table 'tagged_object' expected to delete 3 row(s); Only 4 were matched.
2024-02-19T03:29:32.878Z The above exception was the direct cause of the following exception:
2024-02-19T03:29:32.878Z Traceback (most recent call last):
2024-02-19T03:29:32.878Z   File "/app/superset/commands/dashboard/delete.py", line 49, in run
2024-02-19T03:29:32.878Z     DashboardDAO.delete(self._models)
2024-02-19T03:29:32.878Z   File "/app/superset/daos/base.py", line 225, in delete
2024-02-19T03:29:32.878Z     raise DAODeleteFailedError(exception=ex) from ex
2024-02-19T03:29:32.878Z superset.daos.exceptions.DAODeleteFailedError: Delete failed
2024-02-19T03:29:32.878Z 2024-02-19 03:29:32,878:ERROR:superset.commands.dashboard.delete:DELETE statement on table 'tagged_object' expected to delete 3 row(s); Only 4 were matched.
2024-02-19T03:29:32.878Z Traceback (most recent call last):
2024-02-19T03:29:32.878Z   File "/app/superset/daos/base.py", line 222, in delete
2024-02-19T03:29:32.878Z     db.session.commit()
2024-02-19T03:29:32.878Z   File "<string>", line 2, in commit
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1435, in commit
2024-02-19T03:29:32.878Z     self._transaction.commit(_to_root=self.future)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 829, in commit
2024-02-19T03:29:32.878Z     self._prepare_impl()
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 808, in _prepare_impl
2024-02-19T03:29:32.878Z     self.session.flush()
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3367, in flush
2024-02-19T03:29:32.878Z     self._flush(objects)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3507, in _flush
2024-02-19T03:29:32.878Z     transaction.rollback(_capture_exception=True)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
2024-02-19T03:29:32.878Z     compat.raise_(
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
2024-02-19T03:29:32.878Z     raise exception
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3467, in _flush
2024-02-19T03:29:32.878Z     flush_context.execute()
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 456, in execute
2024-02-19T03:29:32.878Z     rec.execute(self)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 577, in execute
2024-02-19T03:29:32.878Z     self.dependency_processor.process_deletes(uow, states)
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/dependency.py", line 1110, in process_deletes
2024-02-19T03:29:32.878Z     self._run_crud(
2024-02-19T03:29:32.878Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/dependency.py", line 1207, in _run_crud
2024-02-19T03:29:32.878Z     raise exc.StaleDataError(
2024-02-19T03:29:32.878Z sqlalchemy.orm.exc.StaleDataError: DELETE statement on table 'tagged_object' expected to delete 3 row(s); Only 4 were matched.
2024-02-19T03:29:32.878Z The above exception was the direct cause of the following exception:
2024-02-19T03:29:32.878Z Traceback (most recent call last):
2024-02-19T03:29:32.878Z   File "/app/superset/commands/dashboard/delete.py", line 49, in run
2024-02-19T03:29:32.878Z     DashboardDAO.delete(self._models)
2024-02-19T03:29:32.878Z   File "/app/superset/daos/base.py", line 225, in delete
2024-02-19T03:29:32.878Z     raise DAODeleteFailedError(exception=ex) from ex
2024-02-19T03:29:32.878Z superset.daos.exceptions.DAODeleteFailedError: Delete failed
2024-02-19T03:29:32.879Z Error deleting model DashboardRestApi: Dashboard could not be deleted.
2024-02-19T03:29:32.879Z Traceback (most recent call last):
2024-02-19T03:29:32.879Z   File "/app/superset/daos/base.py", line 222, in delete
2024-02-19T03:29:32.879Z     db.session.commit()
2024-02-19T03:29:32.879Z   File "<string>", line 2, in commit
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1435, in commit
2024-02-19T03:29:32.879Z     self._transaction.commit(_to_root=self.future)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 829, in commit
2024-02-19T03:29:32.879Z     self._prepare_impl()
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 808, in _prepare_impl
2024-02-19T03:29:32.879Z     self.session.flush()
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3367, in flush
2024-02-19T03:29:32.879Z     self._flush(objects)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3507, in _flush
2024-02-19T03:29:32.879Z     transaction.rollback(_capture_exception=True)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
2024-02-19T03:29:32.879Z     compat.raise_(
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
2024-02-19T03:29:32.879Z     raise exception
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3467, in _flush
2024-02-19T03:29:32.879Z     flush_context.execute()
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 456, in execute
2024-02-19T03:29:32.879Z     rec.execute(self)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 577, in execute
2024-02-19T03:29:32.879Z     self.dependency_processor.process_deletes(uow, states)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/dependency.py", line 1110, in process_deletes
2024-02-19T03:29:32.879Z     self._run_crud(
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/dependency.py", line 1207, in _run_crud
2024-02-19T03:29:32.879Z     raise exc.StaleDataError(
2024-02-19T03:29:32.879Z sqlalchemy.orm.exc.StaleDataError: DELETE statement on table 'tagged_object' expected to delete 3 row(s); Only 4 were matched.
2024-02-19T03:29:32.879Z The above exception was the direct cause of the following exception:
2024-02-19T03:29:32.879Z Traceback (most recent call last):
2024-02-19T03:29:32.879Z   File "/app/superset/commands/dashboard/delete.py", line 49, in run
2024-02-19T03:29:32.879Z     DashboardDAO.delete(self._models)
2024-02-19T03:29:32.879Z   File "/app/superset/daos/base.py", line 225, in delete
2024-02-19T03:29:32.879Z     raise DAODeleteFailedError(exception=ex) from ex
2024-02-19T03:29:32.879Z superset.daos.exceptions.DAODeleteFailedError: Delete failed
2024-02-19T03:29:32.879Z The above exception was the direct cause of the following exception:
2024-02-19T03:29:32.879Z Traceback (most recent call last):
2024-02-19T03:29:32.879Z   File "/app/superset/dashboards/api.py", line 672, in delete
2024-02-19T03:29:32.879Z     DeleteDashboardCommand([pk]).run()
2024-02-19T03:29:32.879Z   File "/app/superset/commands/dashboard/delete.py", line 52, in run
2024-02-19T03:29:32.879Z     raise DashboardDeleteFailedError() from ex
2024-02-19T03:29:32.879Z superset.commands.dashboard.exceptions.DashboardDeleteFailedError: Dashboard could not be deleted.
2024-02-19T03:29:32.879Z 2024-02-19 03:29:32,878:ERROR:superset.dashboards.api:Error deleting model DashboardRestApi: Dashboard could not be deleted.
2024-02-19T03:29:32.879Z Traceback (most recent call last):
2024-02-19T03:29:32.879Z   File "/app/superset/daos/base.py", line 222, in delete
2024-02-19T03:29:32.879Z     db.session.commit()
2024-02-19T03:29:32.879Z   File "<string>", line 2, in commit
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1435, in commit
2024-02-19T03:29:32.879Z     self._transaction.commit(_to_root=self.future)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 829, in commit
2024-02-19T03:29:32.879Z     self._prepare_impl()
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 808, in _prepare_impl
2024-02-19T03:29:32.879Z     self.session.flush()
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3367, in flush
2024-02-19T03:29:32.879Z     self._flush(objects)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3507, in _flush
2024-02-19T03:29:32.879Z     transaction.rollback(_capture_exception=True)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
2024-02-19T03:29:32.879Z     compat.raise_(
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
2024-02-19T03:29:32.879Z     raise exception
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 3467, in _flush
2024-02-19T03:29:32.879Z     flush_context.execute()
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 456, in execute
2024-02-19T03:29:32.879Z     rec.execute(self)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 577, in execute
2024-02-19T03:29:32.879Z     self.dependency_processor.process_deletes(uow, states)
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/dependency.py", line 1110, in process_deletes
2024-02-19T03:29:32.879Z     self._run_crud(
2024-02-19T03:29:32.879Z   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/dependency.py", line 1207, in _run_crud
2024-02-19T03:29:32.879Z     raise exc.StaleDataError(
2024-02-19T03:29:32.879Z sqlalchemy.orm.exc.StaleDataError: DELETE statement on table 'tagged_object' expected to delete 3 row(s); Only 4 were matched.
2024-02-19T03:29:32.879Z The above exception was the direct cause of the following exception:
2024-02-19T03:29:32.879Z Traceback (most recent call last):
2024-02-19T03:29:32.879Z   File "/app/superset/commands/dashboard/delete.py", line 49, in run
2024-02-19T03:29:32.879Z     DashboardDAO.delete(self._models)
2024-02-19T03:29:32.879Z   File "/app/superset/daos/base.py", line 225, in delete
2024-02-19T03:29:32.879Z     raise DAODeleteFailedError(exception=ex) from ex
2024-02-19T03:29:32.879Z superset.daos.exceptions.DAODeleteFailedError: Delete failed
2024-02-19T03:29:32.879Z The above exception was the direct cause of the following exception:
2024-02-19T03:29:32.879Z Traceback (most recent call last):
2024-02-19T03:29:32.879Z   File "/app/superset/dashboards/api.py", line 672, in delete
2024-02-19T03:29:32.879Z     DeleteDashboardCommand([pk]).run()
2024-02-19T03:29:32.879Z   File "/app/superset/commands/dashboard/delete.py", line 52, in run
2024-02-19T03:29:32.879Z     raise DashboardDeleteFailedError() from ex
2024-02-19T03:29:32.879Z superset.commands.dashboard.exceptions.DashboardDeleteFailedError: Dashboard could not be deleted.
2024-02-19T03:29:32.888Z 49.181.76.109 - - [19/Feb/2024:03:29:32 +0000] "DELETE /api/v1/dashboard/93 HTTP/1.1" 422 46 "https://myhost/dashboard/list/?pageIndex=0&sortColumn=changed_on_delta_humanized&sortOrder=desc&viewMode=table" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"

@shubhshah01
Copy link
Author

Pasting my logs

LINE 2: FROM filter_sets 
             ^

[SQL: SELECT filter_sets.created_on AS filter_sets_created_on, filter_sets.changed_on AS filter_sets_changed_on, filter_sets.id AS filter_sets_id, filter_sets.name AS filter_sets_name, filter_sets.description AS filter_sets_description, filter_sets.json_metadata AS filter_sets_json_metadata, filter_sets.dashboard_id AS filter_sets_dashboard_id, filter_sets.owner_id AS filter_sets_owner_id, filter_sets.owner_type AS filter_sets_owner_type, filter_sets.created_by_fk AS filter_sets_created_by_fk, filter_sets.changed_by_fk AS filter_sets_changed_by_fk 
FROM filter_sets 
WHERE %(param_1)s = filter_sets.dashboard_id]
[parameters: {'param_1': 1}]
(Background on this error at: https://sqlalche.me/e/14/f405)
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.UndefinedTable: relation "filter_sets" does not exist
LINE 2: FROM filter_sets 
             ^


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/superset/daos/base.py", line 219, in delete
    db.session.delete(item)
  File "<string>", line 2, in delete
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2648, in delete
    self._delete_impl(state, instance, head=True)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2674, in _delete_impl
    cascade_states = list(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/mapper.py", line 3202, in cascade_iterator
    queue = deque(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/relationships.py", line 1989, in cascade_iterator
    tuples = self._value_as_iterable(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/relationships.py", line 1963, in _value_as_iterable
    x = impl.get(state, dict_, passive=passive)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/attributes.py", line 941, in get
    value = self._fire_loader_callables(state, key, passive)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/attributes.py", line 977, in _fire_loader_callables
    return self.callable_(state, passive)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/strategies.py", line 911, in _load_for_state
    return self._emit_lazyload(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/strategies.py", line 1047, in _emit_lazyload
    result = session.execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1696, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1631, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1498, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1862, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2043, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "filter_sets" does not exist
LINE 2: FROM filter_sets 
             ^

[SQL: SELECT filter_sets.created_on AS filter_sets_created_on, filter_sets.changed_on AS filter_sets_changed_on, filter_sets.id AS filter_sets_id, filter_sets.name AS filter_sets_name, filter_sets.description AS filter_sets_description, filter_sets.json_metadata AS filter_sets_json_metadata, filter_sets.dashboard_id AS filter_sets_dashboard_id, filter_sets.owner_id AS filter_sets_owner_id, filter_sets.owner_type AS filter_sets_owner_type, filter_sets.created_by_fk AS filter_sets_created_by_fk, filter_sets.changed_by_fk AS filter_sets_changed_by_fk 
FROM filter_sets 
WHERE %(param_1)s = filter_sets.dashboard_id]
[parameters: {'param_1': 1}]
(Background on this error at: https://sqlalche.me/e/14/f405)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/superset/commands/dashboard/delete.py", line 49, in run
    DashboardDAO.delete(self._models)
  File "/app/superset/daos/base.py", line 225, in delete
    raise DAODeleteFailedError(exception=ex) from ex
superset.daos.exceptions.DAODeleteFailedError: Delete failed
2024-02-19 05:10:20,286:ERROR:superset.commands.dashboard.delete:(psycopg2.errors.UndefinedTable) relation "filter_sets" does not exist
LINE 2: FROM filter_sets 
             ^

@weikhor
Copy link

weikhor commented Feb 20, 2024

Pasting my logs

LINE 2: FROM filter_sets 
             ^

[SQL: SELECT filter_sets.created_on AS filter_sets_created_on, filter_sets.changed_on AS filter_sets_changed_on, filter_sets.id AS filter_sets_id, filter_sets.name AS filter_sets_name, filter_sets.description AS filter_sets_description, filter_sets.json_metadata AS filter_sets_json_metadata, filter_sets.dashboard_id AS filter_sets_dashboard_id, filter_sets.owner_id AS filter_sets_owner_id, filter_sets.owner_type AS filter_sets_owner_type, filter_sets.created_by_fk AS filter_sets_created_by_fk, filter_sets.changed_by_fk AS filter_sets_changed_by_fk 
FROM filter_sets 
WHERE %(param_1)s = filter_sets.dashboard_id]
[parameters: {'param_1': 1}]
(Background on this error at: https://sqlalche.me/e/14/f405)
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.UndefinedTable: relation "filter_sets" does not exist
LINE 2: FROM filter_sets 
             ^


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/superset/daos/base.py", line 219, in delete
    db.session.delete(item)
  File "<string>", line 2, in delete
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2648, in delete
    self._delete_impl(state, instance, head=True)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2674, in _delete_impl
    cascade_states = list(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/mapper.py", line 3202, in cascade_iterator
    queue = deque(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/relationships.py", line 1989, in cascade_iterator
    tuples = self._value_as_iterable(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/relationships.py", line 1963, in _value_as_iterable
    x = impl.get(state, dict_, passive=passive)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/attributes.py", line 941, in get
    value = self._fire_loader_callables(state, key, passive)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/attributes.py", line 977, in _fire_loader_callables
    return self.callable_(state, passive)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/strategies.py", line 911, in _load_for_state
    return self._emit_lazyload(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/strategies.py", line 1047, in _emit_lazyload
    result = session.execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1696, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1631, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1498, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1862, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2043, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "filter_sets" does not exist
LINE 2: FROM filter_sets 
             ^

[SQL: SELECT filter_sets.created_on AS filter_sets_created_on, filter_sets.changed_on AS filter_sets_changed_on, filter_sets.id AS filter_sets_id, filter_sets.name AS filter_sets_name, filter_sets.description AS filter_sets_description, filter_sets.json_metadata AS filter_sets_json_metadata, filter_sets.dashboard_id AS filter_sets_dashboard_id, filter_sets.owner_id AS filter_sets_owner_id, filter_sets.owner_type AS filter_sets_owner_type, filter_sets.created_by_fk AS filter_sets_created_by_fk, filter_sets.changed_by_fk AS filter_sets_changed_by_fk 
FROM filter_sets 
WHERE %(param_1)s = filter_sets.dashboard_id]
[parameters: {'param_1': 1}]
(Background on this error at: https://sqlalche.me/e/14/f405)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/superset/commands/dashboard/delete.py", line 49, in run
    DashboardDAO.delete(self._models)
  File "/app/superset/daos/base.py", line 225, in delete
    raise DAODeleteFailedError(exception=ex) from ex
superset.daos.exceptions.DAODeleteFailedError: Delete failed
2024-02-19 05:10:20,286:ERROR:superset.commands.dashboard.delete:(psycopg2.errors.UndefinedTable) relation "filter_sets" does not exist
LINE 2: FROM filter_sets 
             ^

@shubhshah01 Are you running superset on local environment manually or using docker compose ?

@shubhshah01
Copy link
Author

Hey @weikhor
I am using docker compose

@michael-s-molina
Copy link
Member

@shubhshah01 The error is happening because you're missing the filter_sets table. If you search for filter_sets in Superset's codebase you can see that this table was created in a migration from 2021. Recently, this table was deleted on master in this migration which is NOT present in 3.1.

@shubhshah01
Copy link
Author

@michael-s-molina Thanks for that...I am on 3.1.0 how do i fix it if it was removed in that version ?

@michael-s-molina
Copy link
Member

michael-s-molina commented Feb 21, 2024

@michael-s-molina Thanks for that...I am on 3.1.0 how do i fix it if it was removed in that version ?

Just to be clear, there's no script to remove filter_sets in 3.1 so I don't know how it was removed in your deployment. To fix it, you'll need to re-run the migration script that creates the table directly in your database.

@shubhshah01
Copy link
Author

Thanks @michael-s-molina
Probably it was removed when my instance was downgraded from master to 3.1.0 !
Anyways will try running the above script.

@michael-s-molina
Copy link
Member

Closing the issue assuming the problem was fixed by correctly executing the migrations. Feel free to reopen if that's not the case.

@jbat
Copy link
Contributor

jbat commented Mar 11, 2024

Looks like my error is a different issue.
ref #26654

@amitrbhosale
Copy link

Is there a suggested upgrade path of superset while upgrading to latest versions so that this issue doesn't arise? e.g. 3.0.1 -> 3.1.0 -> 4.0 -> 4.0.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants