Problem with db-migration after upgrade

Hi, I’ve been using Rasa X 0.30.1 on Windows for months and it was working fine. Now I upgraded Rasa X to version 0.35.0 and Rasa to 2.2.4. I’m using dockerfile from https://storage.googleapis.com/rasa-x-releases/0.35.1/docker-compose.ce.yml and I’m getting some errors from db-migration container.

db-migration_1     | INFO:__main__:Starting the database migration service
db-migration_1     | Starting the database migration service (http)... 🚀
db-migration_1     | [2021-02-03 11:54:48 +0000] [1] [INFO] Goin' Fast @ http://0.0.0.0:8000
db-migration_1     | [2021-02-03 11:54:48 +0000] [1] [INFO] Starting worker [1]
db-migration_1     | INFO:alembic.runtime.migration:Context impl PostgresqlImpl.
db-migration_1     | INFO:alembic.runtime.migration:Will assume transactional DDL.
db-migration_1     | INFO:alembic.runtime.migration:Running upgrade 052172fdb4b3 ->     43a803b8c1fd, 
    Add constraint to the Domain table.
db-migration_1     | /usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/postgresql/base.py:3536: SAWarning: Predicate of partial index conversation_event_flag_index ignored during reflection
db-migration_1     |   util.warn(
db-migration_1     | Process ForkProcess-1:
db-migration_1     | Traceback (most recent call last):
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
db-migration_1     |     self.dialect.do_execute(
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 609, in do_execute
db-migration_1     |     cursor.execute(statement, parameters)
db-migration_1     | psycopg2.errors.NotNullViolation: null value in column "filename_tmp" violates not-null constraint
db-migration_1     | DETAIL:  Failing row contains (1, default, t, null, 0, t, f, null).
db-migration_1     |
db-migration_1     |
db-migration_1     | The above exception was the direct cause of the following exception:
db-migration_1     |
db-migration_1     | Traceback (most recent call last):
db-migration_1     |   File "/usr/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
db-migration_1     |     self.run()
db-migration_1     |   File "/usr/lib/python3.8/multiprocessing/process.py", line 108, in run
db-migration_1     |     self._target(*self._args, **self._kwargs)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/utils/common.py", line 821, in _run_in_process_target
db-migration_1     |     fn(*args)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/services/db_migration_service.py", line 35, in _db_migrate
db-migration_1     |     sql_migrations.run_migrations(session)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/sql_migrations.py", line 25, in run_migrations
db-migration_1     |     _run_schema_migrations(session)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/sql_migrations.py", line 41, in _run_schema_migrations
db-migration_1     |     _run_alembic_migration(alembic_config)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/sql_migrations.py", line 65, in _run_alembic_migration
db-migration_1     |     command.upgrade(alembic_config, target_revision)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/alembic/command.py", line 298, in upgrade
db-migration_1     |     script.run_env()
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/alembic/script/base.py", line 489, in run_env
db-migration_1     |     util.load_python_file(self.dir, "env.py")
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/alembic/util/pyfiles.py", line 98, in load_python_file
db-migration_1     |     module = load_module_py(module_id, path)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/alembic/util/compat.py", line 184, in load_module_py
db-migration_1     |     spec.loader.exec_module(module)
db-migration_1     |   File "<frozen importlib._bootstrap_external>", line 783, in exec_module
db-migration_1     |   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/database/schema_migrations/alembic/env.py", line 96, in <module>
db-migration_1     |     run_migrations_online()
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/database/schema_migrations/alembic/env.py", line 86, in run_migrations_online
db-migration_1     |     context.run_migrations()
db-migration_1     |   File "<string>", line 8, in run_migrations
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/alembic/runtime/environment.py", line 846, in run_migrations
db-migration_1     |     self.get_context().run_migrations(**kw)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/alembic/runtime/migration.py", line 522, in run_migrations
db-migration_1     |     step.migration_fn(**kw)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/database/schema_migrations/alembic/versions/migration_2020_11_04_add_constraint_to_the_domain_table_43a803b8c1fd.py", line 114, in upgrade
db-migration_1     |     _add_domain_constraint()
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/database/schema_migrations/alembic/versions/migration_2020_11_04_add_constraint_to_the_domain_table_43a803b8c1fd.py", line 76, in _add_domain_constraint
db-migration_1     |     migration_utils.modify_columns(TABLE_NAME, modifications)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/rasax/community/database/schema_migrations/alembic/utils.py", line 332, in modify_columns
db-migration_1     |     session.execute(update_query)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py", line 1295, in execute
db-migration_1     |     return self._connection_for_bind(bind, close_with_result=True).execute(
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1011, in execute
db-migration_1     |     return meth(self, multiparams, params)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
db-migration_1     |     return connection._execute_clauseelement(self, multiparams, params)
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
db-migration_1     |     ret = self._execute_context(
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
db-migration_1     |     self._handle_dbapi_exception(
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception
db-migration_1     |     util.raise_(
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/compat.py", line 182, in raise_
db-migration_1     |     raise exception
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
db-migration_1     |     self.dialect.do_execute(
db-migration_1     |   File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 609, in do_execute
db-migration_1     |     cursor.execute(statement, parameters)
db-migration_1     | sqlalchemy.exc.IntegrityError: (psycopg2.errors.NotNullViolation) null value in column "filename_tmp" violates not-null constraint
db-migration_1     | DETAIL:  Failing row contains (1, default, t, null, 0, t, f, null).
db-migration_1     |
db-migration_1     | [SQL: UPDATE domain SET filename_tmp=domain.filename]
db-migration_1     | (Background on this error at: http://sqlalche.me/e/13/gkpj)
db-migration_1     | [2021-02-03 11:54:52 +0000] - (sanic.access)[INFO][127.0.0.1:50958]: GET http://localhost:8000/health  500 70
db-migration_1     | [2021-02-03 11:54:52 +0000] [1] [INFO] Stopping worker [1]
db-migration_1     | [2021-02-03 11:54:52 +0000] [1] [INFO] Server Stopped

After that the container restarts and outputs the same errors.

There are also some warnings in rasa-x container:

rasa-x_1           | [2021-02-03 11:54:55 +0000] - (sanic.access)[INFO][172.18.0.9:54428]: GET http://rasa-x:5002/api/config?token=123  503 40

I would be grateful if someone could help me

2 Likes

also have this problem, any clue?

I stumbled upon this one too. Any news about it? It seems to be a problem with null values when updating/inserting into column filename_tmp. Upon further inspection I found this null value in column "filename_tmp" violates not-null constraint confirming this, so is it a bug with postgress I guess?