If you encounter
Loaded your LOCAL configuration at [/etc/superset/superset_config.py]
/usr/local/lib/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.
""")
2019-11-10 14:44:31,592:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
Loaded your LOCAL configuration at [/etc/superset/superset_config.py]
/usr/local/lib/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.
""")
2019-11-10 14:44:38,625:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/sqlalchemy_utils/types/encrypted/encrypted_type.py", line 124, in decrypt
decrypted = decrypted.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 1: invalid continuation byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/superset", line 31, in <module>
cli()
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 586, in main
return super(FlaskGroup, self).main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 426, in decorator
return __ctx.invoke(f, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/superset/cli.py", line 51, in init
utils.get_or_create_main_db()
File "/usr/local/lib/python3.6/site-packages/superset/utils/core.py", line 948, in get_or_create_main_db
get_main_database()
File "/usr/local/lib/python3.6/site-packages/superset/utils/core.py", line 971, in get_main_database
return get_or_create_db("main", conf.get("SQLALCHEMY_DATABASE_URI"))
File "/usr/local/lib/python3.6/site-packages/superset/utils/core.py", line 956, in get_or_create_db
db.session.query(models.Database).filter_by(database_name=database_name).first()
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3228, in first
ret = list(self[0:1])
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3018, in __getitem__
return list(res)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/loading.py", line 105, in instances
util.raise_from_cause(err)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 153, in reraise
raise value
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/loading.py", line 85, in instances
rows = [proc(row) for row in fetch]
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/loading.py", line 85, in <listcomp>
rows = [proc(row) for row in fetch]
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/loading.py", line 572, in _instance
populators,
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/loading.py", line 693, in _populate_full
dict_[key] = getter(row)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/sql/type_api.py", line 1247, in process
return process_value(impl_processor(value), dialect)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy_utils/types/encrypted/encrypted_type.py", line 409, in process_result_value
decrypted_value = self.engine.decrypt(value)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy_utils/types/encrypted/encrypted_type.py", line 126, in decrypt
raise ValueError('Invalid decryption key')
ValueError: Invalid decryption key
while upgrading from superset 1 to 3 what needs to be done is connect to the postgresql database then select the superset database
\connect superset;
update dbs set password = null; update dbs set encrypted_extra = null;
Then I’ve encountered this error
Refresh CSRF token error │
│ Traceback (most recent call last): │
│ File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 261, in protect │
│ validate_csrf(self._get_csrf_token()) │
│ File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf │
│ raise ValidationError("The CSRF token is missing.") │
│ wtforms.validators.ValidationError: The CSRF token is missing. │
│ │
│ During handling of the above exception, another exception occurred: │
│ │
│ Traceback (most recent call last): │
│ File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1515, in full_dispatch_request │
│ rv = self.preprocess_request() │
│ File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1857, in preprocess_request │
│ rv = self.ensure_sync(before_func)() │
│ File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect │
│ self.protect() │
│ File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 264, in protect │
│ self._error_response(e.args[0]) │
│ File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 307, in _error_response │
│ raise CSRFError(reason) │
│ flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing.
which is fixable with setting this in the helm chart
extraEnv:
TALISMAN_ENABLED: "False"