qlands opened a new issue #14226: URL: https://github.com/apache/superset/issues/14226
I am trying to add a new database through the web interface with the following parameters: ``` DATABASE NAME = FS_eecb3567_d4b2_4224_bb42_023b5a1ab368 SQLALCHEMY URI = mysql+mysqlconnector://root:[email protected]/FS_eecb3567_d4b2_4224_bb42_023b5a1ab368?charset=utf8 ``` The test button returns OK: `INFO:werkzeug:127.0.0.1 - - [18/Apr/2021 19:29:11] "POST /api/v1/database/test_connection HTTP/1.1" 200 -` But the Add button fails: ``` ERROR:sqlalchemy.pool.impl.QueuePool:Error closing cursor Traceback (most recent call last): File "/home/cquiros/data/projects2017/personal/software/superset/env_superset/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context self.dialect.do_execute( File "/home/cquiros/data/projects2017/personal/software/superset/env_superset/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute cursor.execute(statement, parameters) File "/home/cquiros/data/projects2017/personal/software/superset/env_superset/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 282, in execute self._handle_result(result) File "/home/cquiros/data/projects2017/personal/software/superset/env_superset/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 173, in _handle_result self._handle_resultset() File "/home/cquiros/data/projects2017/personal/software/superset/env_superset/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 681, in _handle_resultset self._rows = self._cnx.get_rows()[0] File "/home/cquiros/data/projects2017/personal/software/superset/env_superset/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 338, in get_rows else self._cmysql.fetch_row() UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf5 in position 1: invalid start byte During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/cquiros/data/projects2017/personal/software/superset/env_superset/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1368, in _safe_close_cursor cursor.close() File "/home/cquiros/data/projects2017/personal/software/superset/env_superset/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 413, in close self._cnx.handle_unread_result() File "/home/cquiros/data/projects2017/personal/software/superset/env_superset/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 749, in handle_unread_result raise errors.InternalError("Unread result found") mysql.connector.errors.InternalError: Unread result found INFO:werkzeug:127.0.0.1 - - [18/Apr/2021 19:29:16] "POST /api/v1/database/ HTTP/1.1" 422 - ``` Here is my superset_config.py ``` from celery.schedules import crontab from superset.typing import CacheConfig # Superset specific config ROW_LIMIT = 5000 SUPERSET_WEBSERVER_PORT = 8088 # Flask App Builder configuration # Your App secret key SECRET_KEY = "bEnA7XdTW2xstfUURfvh7P3NQuZYsL64" # The SQLAlchemy connection string to your database backend # This connection defines the path to the database that stores your # superset metadata (slices, connections, tables, dashboards, ...). # Note that the connection information to connect to the datasources # you want to explore are managed directly in the web UI SQLALCHEMY_DATABASE_URI = ( "mysql+mysqlconnector://root:72EkBqCs!@localhost/superset?ssl_disabled=True&charset=utf8" ) # Flask-WTF flag for CSRF WTF_CSRF_ENABLED = True # Add endpoints that need to be exempt from CSRF protection WTF_CSRF_EXEMPT_LIST = [] # A CSRF token that expires in 1 year WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365 # Set this API key to enable Mapbox visualizations MAPBOX_API_KEY = "pk.eyJ1IjoicWxhbmRzIiwiYSI6ImNqZHB1ZDh4YzEwZHEyeG1rcjc0NmFsNzIifQ.i3YebmNDByns1c1ixZE0bA" CACHE_CONFIG: CacheConfig = {"CACHE_TYPE": "redis"} DATA_CACHE_CONFIG: CacheConfig = {"CACHE_TYPE": "redis"} DATA_CACHE_CONFIG = { "CACHE_TYPE": "redis", "CACHE_DEFAULT_TIMEOUT": 60 * 60 * 24, # 1 day default (in secs) "CACHE_KEY_PREFIX": "superset_results", "CACHE_REDIS_URL": "redis://localhost:6379/2", } class CeleryConfig(object): BROKER_URL = "redis://localhost:6379/3" CELERY_IMPORTS = ( "superset.sql_lab", "superset.tasks", ) CELERY_RESULT_BACKEND = "redis://localhost:6379/3" CELERYD_LOG_LEVEL = "DEBUG" CELERYD_PREFETCH_MULTIPLIER = 10 CELERY_ACKS_LATE = True CELERY_ANNOTATIONS = { "sql_lab.get_sql_results": { "rate_limit": "100/s", }, "email_reports.send": { "rate_limit": "1/s", "time_limit": 120, "soft_time_limit": 150, "ignore_result": True, }, } CELERYBEAT_SCHEDULE = { "email_reports.schedule_hourly": { "task": "email_reports.schedule_hourly", "schedule": crontab(minute=1, hour="*"), }, "cache-warmup-hourly": { "task": "cache-warmup", "schedule": crontab(minute=0, hour="*"), # hourly "kwargs": { "strategy_name": "top_n_dashboards", "top_n": 5, "since": "7 days ago", }, }, } CELERY_CONFIG = CeleryConfig ``` Python version: 3.8 Installed libraries: ``` aiohttp==3.7.4.post0 alembic==1.5.8 amqp==2.6.1 apache-superset==1.1.0 apispec==3.3.2 appdirs==1.4.4 async-timeout==3.0.1 attrs==20.3.0 Babel==2.9.0 backoff==1.10.0 billiard==3.6.4.0 black==20.8b1 bleach==3.3.0 Brotli==1.0.9 cachelib==0.1.1 celery==4.4.7 cffi==1.14.5 chardet==4.0.0 click==7.1.2 colorama==0.4.4 contextlib2==0.6.0.post1 convertdate==2.3.2 cron-descriptor==1.2.24 croniter==1.0.12 cryptography==3.4.7 decorator==5.0.7 defusedxml==0.7.1 dnspython==2.1.0 email-validator==1.1.2 Flask==1.1.2 Flask-AppBuilder==3.2.2 Flask-Babel==1.0.0 Flask-Caching==1.10.1 Flask-Compress==1.9.0 Flask-JWT-Extended==3.25.1 Flask-Login==0.4.1 Flask-Migrate==2.7.0 Flask-OpenID==1.2.5 Flask-SQLAlchemy==2.5.1 flask-talisman==0.7.0 Flask-WTF==0.14.3 geographiclib==1.50 geopy==2.1.0 greenlet==1.0.0 gunicorn==20.0.4 holidays==0.10.3 humanize==3.4.1 idna==3.1 isodate==0.6.0 itsdangerous==1.1.0 Jinja2==2.11.3 jsonschema==3.2.0 kombu==4.6.11 korean-lunar-calendar==0.2.1 Mako==1.1.4 Markdown==3.3.4 MarkupSafe==1.1.1 marshmallow==3.11.1 marshmallow-enum==1.5.1 marshmallow-sqlalchemy==0.23.1 msgpack==1.0.2 multidict==5.1.0 mypy-extensions==0.4.3 mysql-connector-python==8.0.23 numpy==1.20.2 packaging==20.9 pandas==1.2.4 parsedatetime==2.6 pathlib2==2.3.5 pathspec==0.8.1 pgsanity==0.2.9 polyline==1.4.0 prison==0.1.3 protobuf==3.15.8 py==1.10.0 pyarrow==3.0.0 pycparser==2.20 PyJWT==1.7.1 PyMeeus==0.5.11 pyparsing==2.4.7 pyrsistent==0.17.3 python-dateutil==2.8.1 python-dotenv==0.17.0 python-editor==1.0.4 python-geohash==0.8.5 python3-openid==3.2.0 pytz==2021.1 PyYAML==5.4.1 redis==3.5.3 regex==2021.4.4 retry==0.9.2 selenium==3.141.0 simplejson==3.17.2 six==1.15.0 slackclient==2.5.0 SQLAlchemy==1.3.24 SQLAlchemy-Utils==0.36.8 sqlparse==0.3.0 toml==0.10.2 typed-ast==1.4.3 typing-extensions==3.7.4.3 urllib3==1.26.4 vine==1.3.0 webencodings==0.5.1 Werkzeug==1.0.1 WTForms==2.3.3 WTForms-JSON==0.3.3 yarl==1.6.3 ``` -- 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. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
