bmtcril opened a new issue, #28020:
URL: https://github.com/apache/superset/issues/28020
### Bug description
When importing a dataset on the command line we consistently run into the
error as described in #24528 . The problem seems to be that `dataset` isn't
included in the enum on the `taggable_objects` table. So far the only
workaround has been to turn off the `TAGGING_SYSTEM` feature flag.
### How to reproduce the bug
1. Export a functioning dashboard with a dataset attached
2. Import the dashboard using
`superset.examples.utils.load_configs_from_directory`
3. See the error `MySQLdb._exceptions.DataError: (1265, "Data truncated for
column 'object_type' at row 1")`
### Screenshots/recordings
_No response_
### Superset version
4.0.0
### Python version
3.9
### Node version
16
### Browser
Not applicable
### Additional context
Note the attempt to insert "dataset" into `tagged_object` at the bottom of
the stack:
```
2024-04-12 20:28:53,083:INFO:superset.models.helpers:Updating tables
reporting.int_problem_results
/app/superset/models/helpers.py:307: SAWarning: transaction already
deassociated from connection
obj = obj_query.one_or_none()
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py",
line 1819, in _execute_context
self.dialect.do_execute(
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line
732, in do_execute
cursor.execute(statement, parameters)
File "/usr/local/lib/python3.10/site-packages/MySQLdb/cursors.py", line
206, in execute
res = self._query(query)
File "/usr/local/lib/python3.10/site-packages/MySQLdb/cursors.py", line
319, in _query
db.query(q)
File "/usr/local/lib/python3.10/site-packages/MySQLdb/connections.py",
line 254, in query
_mysql.connection.query(self, query)
MySQLdb._exceptions.DataError: (1265, "Data truncated for column
'object_type' at row 1")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/app/superset/commands/importers/v1/examples.py", line 71, in run
self._import(
File "/app/superset/commands/importers/v1/examples.py", line 131, in
_import
dataset = import_dataset(
File "/app/superset/commands/dataset/importers/v1/utils.py", line 151, in
import_dataset
dataset = SqlaTable.import_from_dict(config, recursive=True, sync=sync)
File "/app/superset/models/helpers.py", line 343, in import_from_dict
child_class.import_from_dict(
File "/app/superset/models/helpers.py", line 307, in import_from_dict
obj = obj_query.one_or_none()
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/query.py",
line 2845, in one_or_none
return self._iter().one_or_none()
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/query.py",
line 2903, in _iter
result = self.session.execute(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 1644, in execute
) = compile_state_cls.orm_pre_session_exec(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/context.py",
line 319, in orm_pre_session_exec
session._autoflush()
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 2241, in _autoflush
util.raise_(e, with_traceback=sys.exc_info()[2])
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/compat.py",
line 207, in raise_
raise exception
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 2230, in _autoflush
self.flush()
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 3367, in flush
self._flush(objects)
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 3506, in _flush
with util.safe_reraise():
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line
70, in __exit__
compat.raise_(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/compat.py",
line 207, in raise_
raise exception
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 3467, in _flush
flush_context.execute()
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line
456, in execute
rec.execute(self)
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line
630, in execute
util.preloaded.orm_persistence.save_obj(
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line
253, in save_obj
_finalize_insert_update_commands(
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line
1568, in _finalize_insert_update_commands
mapper.dispatch.after_update(mapper, connection, state)
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/event/attr.py",
line 343, in __call__
fn(*args, **kw)
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/events.py",
line 743, in wrap
fn(*arg, **kw)
File "/app/superset/tags/models.py", line 274, in after_update
session.commit()
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 1435, in commit
self._transaction.commit(_to_root=self.future)
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 829, in commit
self._prepare_impl()
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 808, in _prepare_impl
self.session.flush()
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 3367, in flush
self._flush(objects)
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 3506, in _flush
with util.safe_reraise():
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line
70, in __exit__
compat.raise_(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/compat.py",
line 207, in raise_
raise exception
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py",
line 3467, in _flush
flush_context.execute()
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line
456, in execute
rec.execute(self)
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line
630, in execute
util.preloaded.orm_persistence.save_obj(
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line
245, in save_obj
_emit_insert_statements(
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line
1238, in _emit_insert_statements
result = connection._execute_20(
File "/usr/local/lib/python3.10/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.10/site-packages/sqlalchemy/sql/elements.py",
line 325, in _execute_on_connection
return connection._execute_clauseelement(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py",
line 1498, in _execute_clauseelement
ret = self._execute_context(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py",
line 1862, in _execute_context
self._handle_dbapi_exception(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py",
line 2043, in _handle_dbapi_exception
util.raise_(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/compat.py",
line 207, in raise_
raise exception
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py",
line 1819, in _execute_context
self.dialect.do_execute(
File
"/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line
732, in do_execute
cursor.execute(statement, parameters)
File "/usr/local/lib/python3.10/site-packages/MySQLdb/cursors.py", line
206, in execute
res = self._query(query)
File "/usr/local/lib/python3.10/site-packages/MySQLdb/cursors.py", line
319, in _query
db.query(q)
File "/usr/local/lib/python3.10/site-packages/MySQLdb/connections.py",
line 254, in query
_mysql.connection.query(self, query)
sqlalchemy.exc.DataError: (raised as a result of Query-invoked autoflush;
consider using a session.no_autoflush block if this flush is occurring
prematurely)
(MySQLdb._exceptions.DataError) (1265, "Data truncated for column
'object_type' at row 1")
[SQL: INSERT INTO tagged_object (created_on, changed_on, tag_id, object_id,
object_type, created_by_fk, changed_by_fk) VALUES (%s, %s, %s, %s, %s, %s, %s)]
[parameters: (datetime.datetime(2024, 4, 12, 20, 28, 53, 100714),
datetime.datetime(2024, 4, 12, 20, 28, 53, 100722), 3, 505, 'dataset', None,
None)]
```
### Checklist
- [X] I have searched Superset docs and Slack and didn't find a solution to
my problem.
- [X] I have searched the GitHub issue tracker and didn't find a similar bug
report.
- [X] 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.
--
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]