You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2022/01/21 19:46:59 UTC

[GitHub] [airflow] potiuk edited a comment on pull request #20975: Switch XCom implementation to use run_id

potiuk edited a comment on pull request #20975:
URL: https://github.com/apache/airflow/pull/20975#issuecomment-1018809209


   The migration step failed in the middle and it is re-attempted for every test, failiin on temporary table created internally by SQLAlchemy - most likely to rename/change value of a column - because sqlite does not support column rename, so sql alchemy (or rather alembic) will create a new table, fill it with values and rename it aterwards instead.
   
   The root cause is missing type for a column it seems (the stactrace is visible when you open failed test type): 
   
   ```
   Traceback (most recent call last):
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/compiler.py", line 2942, in visit_create_table
         create_column, first_pk=column.primary_key and not first_pk
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/compiler.py", line 352, in process
         return obj._compiler_dispatch(self, **kwargs)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/visitors.py", line 96, in _compiler_dispatch
         return meth(self, **kw)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/compiler.py", line 2975, in visit_create_column
         text = self.get_column_specification(column, first_pk=first_pk)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/dialects/sqlite/base.py", line 1102, in get_column_specification
         column.type, type_expression=column
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/compiler.py", line 402, in process
         return type_._compiler_dispatch(self, **kw)line 96, in _compiler_dispatch
         return meth(self, **kw)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/compiler.py", line 2975, in visit_create_column
         text = self.get_column_specification(column, first_pk=first_pk)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/dialects/sqlite/base.py", line 1102, in get_column_specification
         column.type, type_expression=colu
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/visitors.py", line 96, in _compiler_dispatch
         return meth(self, **kw)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/compiler.py", line 3481, in visit_null
         "type on this Column?" % type_
     sqlalchemy.exc.CompileError: Can't generate DDL for NullType(); did you forget to specify a type on this Column?
     
     The above exception was the direct cause of the following exception:
     
     Traceback (most recent call last):
       File "/usr/local/bin/airflow", line 33, in <module>
         sys.exit(load_entry_point('apache-airflow', 'console_scripts', 'airflow')())
       File "/opt/airflow/airflow/__main__.py", line 48, in main
         args.func(args)
       File "/opt/airflow/airflow/cli/cli_parser.py", line 49, in command
         return func(*args, **kwargs)
       File "/opt/airflow/airflow/cli/commands/db_command.py", line 39, in resetdb
         db.resetdb()
       File "/opt/airflow/airflow/utils/session.py", line 71, in wrapper
         return func(*args, session=session, **kwargs)
       File "/opt/airflow/airflow/utils/db.py", line 1035, in resetdb
         initdb(session=session)
       File "/opt/airflow/airflow/utils/session.py", line 68, in wrapper
         return func(*args, **kwargs)
       File "/opt/airflow/airflow/utils/db.py", line 600, in initdb
         upgradedb(session=session)
       File "/opt/airflow/airflow/utils/session.py", line 68, in wrapper
         return func(*args, **kwargs)
       File "/opt/airflow/airflow/utils/db.py", line 1017, in upgradedb
         command.upgrade(config, 'heads')
       File "/usr/local/lib/python3.7/site-packages/alembic/command.py", line 320, in upgrade
         script.run_env()
       File "/usr/local/lib/python3.7/site-packages/alembic/script/base.py", line 563, in run_env
         util.load_python_file(self.dir, "env.py")
       File "/usr/local/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 92, in load_python_file
         module = load_module_py(module_id, path)
       File "/usr/local/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 108, in load_module_py
         spec.loader.exec_module(module)  # type: ignore
       File "<frozen importlib._bootstrap_external>", line 728, in exec_module
       File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
       File "/opt/airflow/airflow/migrations/env.py", line 107, in <module>
         run_migrations_online()
       File "/opt/airflow/airflow/migrations/env.py", line 101, in run_migrations_online
         context.run_migrations()
       File "<string>", line 8, in run_migrations
       File "/usr/local/lib/python3.7/site-packages/alembic/runtime/environment.py", line 851, in run_migrations
         self.get_context().run_migrations(**kw)
       File "/usr/local/lib/python3.7/site-packages/alembic/runtime/migration.py", line 620, in run_migrations
         step.migration_fn(**kw)
       File "/opt/airflow/airflow/migrations/versions/c306b5b5ae4a_switch_xcom_table_to_use_run_id.py", line 75, in upgrade
         batch_op.create_primary_key("xcom_pkey", ["key", "dag_id", "task_id", "run_id"])
       File "/usr/local/lib/python3.7/contextlib.py", line 119, in __exit__
         next(self.gen)
       File "/usr/local/lib/python3.7/site-packages/alembic/operations/base.py", line 374, in batch_alter_table
         impl.flush()
       File "/usr/local/lib/python3.7/site-packages/alembic/operations/batch.py", line 140, in flush
         batch_impl._create(self.impl)
       File "/usr/local/lib/python3.7/site-packages/alembic/operations/batch.py", line 411, in _create
         op_impl.create_table(self.new_table)
       File "/usr/local/lib/python3.7/site-packages/alembic/ddl/impl.py", line 356, in create_table
         self._exec(schema.CreateTable(table))
       File "/usr/local/lib/python3.7/site-packages/alembic/ddl/impl.py", line 197, in _exec
         return conn.execute(construct, multiparams)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
         return meth(self, multiparams, params)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/ddl.py", line 72, in _execute_on_connection
         return connection._execute_ddl(self, multiparams, params)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1066, in _execute_ddl
         else None,
       File "<string>", line 1, in <lambda>
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 481, in compile
         return self._compiler(dialect, bind=bind, **kw)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/ddl.py", line 29, in _compiler
         return dialect.ddl_compiler(dialect, self, **kw)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/compiler.py", line 322, in __init__
         self.string = self.process(self.statement, **compile_kwargs)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/compiler.py", line 352, in process
         return obj._compiler_dispatch(self, **kwargs)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/visitors.py", line 96, in _compiler_dispatch
         return meth(self, **kw)
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/compiler.py", line 2956, in visit_create_table
         from_=ce,
       File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
         raise exception
     sqlalchemy.exc.CompileError: (in table '_alembic_tmp___airflow_tmp_xcom', column 'value'): Can't generate DDL for NullType(); did you forget to specify a type on this Column?
   ```


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org