mloyanich commented on issue #17072: URL: https://github.com/apache/superset/issues/17072#issuecomment-986282140
I have the same issue. It will also fail if you have different databases with the same table name, no matter what's the schema attaching Superset log: ``` 2021-12-05 10:36:47,253:DEBUG:superset.models.core:Database.get_sqla_engine(). Masked URL: postgresql+psycopg2://postgres:XXXXXXXXXX@database-connection-details:5432/postgres 2021-12-05 10:36:53,947:WARNING:superset.datasets.commands.create:(raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) UNIQUE constraint failed: tables.table_name [SQL: INSERT INTO tables (uuid, created_on, changed_on, description, default_endpoint, is_featured, filter_select_enabled, "offset", cache_timeout, params, perm, schema_perm, table_name, main_dttm_col, database_id, fetch_values_predicate, schema, sql, is_sqllab_view, template_params, extra, created_by_fk, changed_by_fk) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)] [parameters: (<memory at 0x121789880>, '2021-12-05 10:36:53.947410', '2021-12-05 10:36:53.947417', None, None, 0, 0, 0, None, None, None, None, 'new_table', None, 3, None, 'public', None, 0, None, None, 1, 1)] (Background on this error at: http://sqlalche.me/e/13/gkpj) Traceback (most recent call last): File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context self.dialect.do_execute( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute cursor.execute(statement, parameters) sqlite3.IntegrityError: UNIQUE constraint failed: tables.table_name The above exception was the direct cause of the following exception: Traceback (most recent call last): File "SUPERSET_LOCATION/superset/superset/datasets/commands/create.py", line 51, in run dataset.fetch_metadata(commit=False) File "SUPERSET_LOCATION/superset/superset/connectors/sqla/models.py", line 1527, in fetch_metadata old_columns_by_name: Dict[str, TableColumn] = { File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3534, in __iter__ self.session._autoflush() File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1633, in _autoflush util.raise_(e, with_traceback=sys.exc_info()[2]) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1622, in _autoflush self.flush() File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2540, in flush self._flush(objects) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2682, in _flush transaction.rollback(_capture_exception=True) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__ compat.raise_( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2642, in _flush flush_context.execute() File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute rec.execute(self) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 586, in execute persistence.save_obj( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/persistence.py", line 239, in save_obj _emit_insert_statements( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/persistence.py", line 1135, in _emit_insert_statements result = cached_connections[connection].execute( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1011, in execute return meth(self, multiparams, params) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection return connection._execute_clauseelement(self, multiparams, params) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement ret = self._execute_context( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context self._handle_dbapi_exception( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception util.raise_( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context self.dialect.do_execute( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.IntegrityError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) UNIQUE constraint failed: tables.table_name [SQL: INSERT INTO tables (uuid, created_on, changed_on, description, default_endpoint, is_featured, filter_select_enabled, "offset", cache_timeout, params, perm, schema_perm, table_name, main_dttm_col, database_id, fetch_values_predicate, schema, sql, is_sqllab_view, template_params, extra, created_by_fk, changed_by_fk) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)] [parameters: (<memory at 0x121789880>, '2021-12-05 10:36:53.947410', '2021-12-05 10:36:53.947417', None, None, 0, 0, 0, None, None, None, None, 'new_table', None, 3, None, 'public', None, 0, None, None, 1, 1)] (Background on this error at: http://sqlalche.me/e/13/gkpj) 2021-12-05 10:36:53,965:ERROR:superset.datasets.api:Error creating model DatasetRestApi: Dataset could not be created. Traceback (most recent call last): File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context self.dialect.do_execute( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute cursor.execute(statement, parameters) sqlite3.IntegrityError: UNIQUE constraint failed: tables.table_name The above exception was the direct cause of the following exception: Traceback (most recent call last): File "SUPERSET_LOCATION/superset/superset/datasets/commands/create.py", line 51, in run dataset.fetch_metadata(commit=False) File "SUPERSET_LOCATION/superset/superset/connectors/sqla/models.py", line 1527, in fetch_metadata old_columns_by_name: Dict[str, TableColumn] = { File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3534, in __iter__ self.session._autoflush() File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1633, in _autoflush util.raise_(e, with_traceback=sys.exc_info()[2]) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1622, in _autoflush self.flush() File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2540, in flush self._flush(objects) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2682, in _flush transaction.rollback(_capture_exception=True) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__ compat.raise_( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2642, in _flush flush_context.execute() File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute rec.execute(self) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 586, in execute persistence.save_obj( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/persistence.py", line 239, in save_obj _emit_insert_statements( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/orm/persistence.py", line 1135, in _emit_insert_statements result = cached_connections[connection].execute( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1011, in execute return meth(self, multiparams, params) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection return connection._execute_clauseelement(self, multiparams, params) File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement ret = self._execute_context( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context self._handle_dbapi_exception( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception util.raise_( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context self.dialect.do_execute( File "SUPERSET_LOCATION/venv/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.IntegrityError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) UNIQUE constraint failed: tables.table_name [SQL: INSERT INTO tables (uuid, created_on, changed_on, description, default_endpoint, is_featured, filter_select_enabled, "offset", cache_timeout, params, perm, schema_perm, table_name, main_dttm_col, database_id, fetch_values_predicate, schema, sql, is_sqllab_view, template_params, extra, created_by_fk, changed_by_fk) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)] [parameters: (<memory at 0x121789880>, '2021-12-05 10:36:53.947410', '2021-12-05 10:36:53.947417', None, None, 0, 0, 0, None, None, None, None, 'new_table', None, 3, None, 'public', None, 0, None, None, 1, 1)] (Background on this error at: http://sqlalche.me/e/13/gkpj) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "SUPERSET_LOCATION/superset/superset/datasets/api.py", line 252, in post new_model = CreateDatasetCommand(g.user, item).run() File "SUPERSET_LOCATION/superset/superset/datasets/commands/create.py", line 65, in run raise DatasetCreateFailedError() from ex superset.datasets.commands.exceptions.DatasetCreateFailedError: Dataset could not be created. 2021-12-05 10:36:53,981:DEBUG:superset.stats_logger:[stats_logger] (incr) DatasetRestApi.post.error 2021-12-05 10:36:53,982:DEBUG:superset.stats_logger:[stats_logger] (timing) DatasetRestApi.post.time | 6880.805107 2021-12-05 10:36:53,982:INFO:werkzeug:127.0.0.1 - - [05/Dec/2021 10:36:53] "POST /api/v1/dataset/ HTTP/1.1" 422 - ``` -- 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]
