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/06/21 13:24:24 UTC

[GitHub] [airflow] miimsam commented on issue #24526: upgrading from 2.2.3 or 2.2.5 to 2.3.2 fails on migration-job

miimsam commented on issue #24526:
URL: https://github.com/apache/airflow/issues/24526#issuecomment-1161744906

   We ran into the same issue when upgrading from 2.2.5 to 2.3.2.
   
   **What happened**
   Upgrade Airflow 2.2.5 -> 2.3.2 fails on migration-job (airflow db upgrade)
   
   **Database**: MySQL 8.0.19
   
   
   ```
   [2022-06-17 10:53:27,533] {{db.py:1448}} INFO - Creating tables
   INFO  [alembic.runtime.migration] Context impl MySQLImpl.
   INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
   INFO  [alembic.runtime.migration] Running upgrade f9da662e7089 -> e655c0453f75, Add ``map_index`` column to TaskInstance to identify task-mapping,
   and a ``task_map`` table to track mapping values from XCom.
   Traceback (most recent call last):
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1706, in _execute_context
       cursor, statement, parameters, context
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 716, in do_execute
       cursor.execute(statement, parameters)
     File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 148, in execute
       result = self._query(query)
     File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 310, in _query
       conn.query(q)
     File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 548, in query
       self._affected_rows = self._read_query_result(unbuffered=unbuffered)
     File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 775, in _read_query_result
       result.read()
     File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 1156, in read
       first_packet = self.connection._read_packet()
     File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 725, in _read_packet
       packet.raise_for_error()
     File "/usr/local/lib/python3.7/site-packages/pymysql/protocol.py", line 221, in raise_for_error
       err.raise_mysql_exception(self._data)
     File "/usr/local/lib/python3.7/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
       raise errorclass(errno, errval)
   pymysql.err.OperationalError: (1091, "Can't DROP 'task_reschedule_ti_fkey'; check that column/key exists")
   
   The above exception was the direct cause of the following exception:
   
   Traceback (most recent call last):
     File "/usr/local/bin/airflow", line 8, in <module>
       sys.exit(main())
     File "/usr/local/lib/python3.7/site-packages/airflow/__main__.py", line 38, in main
       args.func(args)
     File "/usr/local/lib/python3.7/site-packages/airflow/cli/cli_parser.py", line 51, in command
       return func(*args, **kwargs)
     File "/usr/local/lib/python3.7/site-packages/airflow/utils/cli.py", line 99, in wrapper
       return f(*args, **kwargs)
     File "/usr/local/lib/python3.7/site-packages/airflow/cli/commands/db_command.py", line 82, in upgradedb
       db.upgradedb(to_revision=to_revision, from_revision=from_revision, show_sql_only=args.show_sql_only)
     File "/usr/local/lib/python3.7/site-packages/airflow/utils/session.py", line 71, in wrapper
       return func(*args, session=session, **kwargs)
     File "/usr/local/lib/python3.7/site-packages/airflow/utils/db.py", line 1449, in upgradedb
       command.upgrade(config, revision=to_revision or 'heads')
     File "/usr/local/lib/python3.7/site-packages/alembic/command.py", line 322, in upgrade
       script.run_env()
     File "/usr/local/lib/python3.7/site-packages/alembic/script/base.py", line 569, in run_env
       util.load_python_file(self.dir, "env.py")
     File "/usr/local/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 94, in load_python_file
       module = load_module_py(module_id, path)
     File "/usr/local/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 110, 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 "/usr/local/lib/python3.7/site-packages/airflow/migrations/env.py", line 107, in <module>
       run_migrations_online()
     File "/usr/local/lib/python3.7/site-packages/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 853, in run_migrations
       self.get_context().run_migrations(**kw)
     File "/usr/local/lib/python3.7/site-packages/alembic/runtime/migration.py", line 623, in run_migrations
       step.migration_fn(**kw)
     File "/usr/local/lib/python3.7/site-packages/airflow/migrations/versions/0100_2_3_0_add_taskmap_and_map_id_on_taskinstance.py", line 49, in upgrade
       batch_op.drop_index("idx_task_reschedule_dag_task_run")
     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 376, in batch_alter_table
       impl.flush()
     File "/usr/local/lib/python3.7/site-packages/alembic/operations/batch.py", line 111, in flush
       fn(*arg, **kw)
     File "/usr/local/lib/python3.7/site-packages/alembic/ddl/mysql.py", line 155, in drop_constraint
       super(MySQLImpl, self).drop_constraint(const)
     File "/usr/local/lib/python3.7/site-packages/alembic/ddl/impl.py", line 338, in drop_constraint
       self._exec(schema.DropConstraint(const))
     File "/usr/local/lib/python3.7/site-packages/alembic/ddl/impl.py", line 195, in _exec
       return conn.execute(construct, multiparams)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1200, in execute
       return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/ddl.py", line 78, in _execute_on_connection
       self, multiparams, params, execution_options
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1296, in _execute_ddl
       compiled,
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1749, in _execute_context
       e, statement, parameters, cursor, context
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1930, in _handle_dbapi_exception
       sqlalchemy_exception, with_traceback=exc_info[2], from_=e
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
       raise exception
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1706, in _execute_context
       cursor, statement, parameters, context
     File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 716, in do_execute
       cursor.execute(statement, parameters)
     File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 148, in execute
       result = self._query(query)
     File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 310, in _query
       conn.query(q)
     File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 548, in query
       self._affected_rows = self._read_query_result(unbuffered=unbuffered)
     File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 775, in _read_query_result
       result.read()
     File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 1156, in read
       first_packet = self.connection._read_packet()
     File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 725, in _read_packet
       packet.raise_for_error()
     File "/usr/local/lib/python3.7/site-packages/pymysql/protocol.py", line 221, in raise_for_error
       err.raise_mysql_exception(self._data)
     File "/usr/local/lib/python3.7/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
       raise errorclass(errno, errval)
   sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1091, "Can't DROP 'task_reschedule_ti_fkey'; check that column/key exists")
   [SQL: ALTER TABLE task_reschedule DROP FOREIGN KEY task_reschedule_ti_fkey]
   (Background on this error at: http://sqlalche.me/e/14/e3q8)
   
   ```
   
   
   
   


-- 
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