lakeron opened a new issue, #19896: URL: https://github.com/apache/superset/issues/19896
Once the `mysql-connecot-python` upgraded to 8.0.29 we start to see this error Here is screenshot form corrupted dashboard  ### Traceback ``` │ superset Traceback (most recent call last): │ superset File "/usr/local/lib/python3.7/site-packages/flask_appbuilder/api/__init__.py", line 85, in wraps │ superset return f(self, *args, **kwargs) │ superset File "/app/superset/views/base_api.py", line 85, in wraps │ superset raise ex │ superset File "/app/superset/views/base_api.py", line 82, in wraps │ superset duration, response = time_function(f, self, *args, **kwargs) │ superset File "/app/superset/utils/core.py", line 1429, in time_function │ superset response = func(*args, **kwargs) │ superset File "/app/superset/utils/log.py", line 241, in wrapper │ superset value = f(*args, **kwargs) │ superset File "/app/superset/dashboards/api.py", line 393, in get_charts │ superset charts = DashboardDAO.get_charts_for_dashboard(id_or_slug) │ superset File "/app/superset/dashboards/dao.py", line 56, in get_charts_for_dashboard │ superset return DashboardDAO.get_by_id_or_slug(id_or_slug).slices │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 287, in __get__ │ superset return self.impl.get(instance_state(instance), dict_) │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 723, in get │ superset value = self.callable_(state, passive) │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 760, in _load_for_state │ superset session, state, primary_key_identity, passive │ superset File "<string>", line 1, in <lambda> │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 902, in _emit_lazyload │ superset .with_post_criteria(set_default_params) │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/ext/baked.py", line 544, in all │ superset return list(self) │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 100, in instances │ superset cursor.close() │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__ │ superset with_traceback=exc_tb, │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ │ superset raise exception │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 80, in instances │ superset rows = [proc(row) for row in fetch] │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 80, in <listcomp> │ superset rows = [proc(row) for row in fetch] │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 588, in _instance │ superset populators, │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/loading.py", line 725, in _populate_full │ superset dict_[key] = getter(row) │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/type_api.py", line 1278, in process │ superset return process_value(impl_processor(value), dialect) │ superset File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/sqltypes.py", line 946, in process │ superset value = bytes(value) │ superset TypeError: string argument without an encoding ``` ### Hotfix During debugging we found out that the problem is connected to UUID that is stored as BINARY. To remedy the problem: - find the problematic UUID and change the UUID to any random value and the system start to work - downgrade to `mysql-connecot-python==8.0.28` ### Root case We tried to discover whats the problem with UUIDs but we hadn't figure out why some of them are unable to read. Due to we are unsure how to solve the situation. #### Regenerate UUID We thought about regenerate all UUIDs. But if the problem is that some BINARY stored UUID are unable to ready than regeneration wont help. Also we are not sure if it could cause other issue. #### Change UUID type to VARCHAR Not sure if it would work. But it could be option. We don't like that we introduce a change that will create discrepancy between superset master and our implementation. -- 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]
