eselyavka opened a new issue, #35375:
URL: https://github.com/apache/airflow/issues/35375

   ### Apache Airflow version
   
   2.7.2
   
   ### What happened
   
   Team, it looks like i just discovered bug in airflow 2.7.2(latest) which 
were introduced by this package https://pypi.org/project/connexion/3.0.0/, 
which were released several hours ago
   I am running my airflow image in ubuntu 20.04 x86_64 docker image under the 
python 3.9.16
   ```
   root@cbe8e0b21de3:/# python3.9 --version
   Python 3.9.18
   ```
   I am installing airflow via pip
   ```
   pip install apache-airflow=2.7.2
   ```
   I am seeing this error when performing `airflow db migrate`
   
   ```
   root@cbe8e0b21de3:/# airflow db init
   /usr/local/lib/python3.9/dist-packages/airflow/cli/commands/db_command.py:43 
DeprecationWarning: `db init` is deprecated.  Use `db migrate` instead to 
migrate the db and/or airflow connections create-default-connections to create 
the default connections
   DB: sqlite:////root/airflow/airflow.db
   [2023-11-02T13:54:50.283-0400] {migration.py:213} INFO - Context impl 
SQLiteImpl.
   [2023-11-02T13:54:50.285-0400] {migration.py:216} INFO - Will assume 
non-transactional DDL.
   INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
   INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
   Traceback (most recent call last):
     File "/usr/local/bin/airflow", line 8, in <module>
       sys.exit(main())
     File "/usr/local/lib/python3.9/dist-packages/airflow/__main__.py", line 
59, in main
       args.func(args)
     File "/usr/local/lib/python3.9/dist-packages/airflow/cli/cli_config.py", 
line 49, in command
       return func(*args, **kwargs)
     File 
"/usr/local/lib/python3.9/dist-packages/airflow/utils/providers_configuration_loader.py",
 line 55, in wrapped_function
       return func(*args, **kwargs)
     File 
"/usr/local/lib/python3.9/dist-packages/airflow/cli/commands/db_command.py", 
line 49, in initdb
       db.initdb()
     File "/usr/local/lib/python3.9/dist-packages/airflow/utils/session.py", 
line 77, in wrapper
       return func(*args, session=session, **kwargs)
     File "/usr/local/lib/python3.9/dist-packages/airflow/utils/db.py", line 
739, in initdb
       _create_db_from_orm(session=session)
     File "/usr/local/lib/python3.9/dist-packages/airflow/utils/db.py", line 
727, in _create_db_from_orm
       command.stamp(config, "head")
     File "/usr/local/lib/python3.9/dist-packages/alembic/command.py", line 
685, in stamp
       script.run_env()
     File "/usr/local/lib/python3.9/dist-packages/alembic/script/base.py", line 
579, in run_env
       util.load_python_file(self.dir, "env.py")
     File "/usr/local/lib/python3.9/dist-packages/alembic/util/pyfiles.py", 
line 93, in load_python_file
       module = load_module_py(module_id, path)
     File "/usr/local/lib/python3.9/dist-packages/alembic/util/pyfiles.py", 
line 109, in load_module_py
       spec.loader.exec_module(module)  # type: ignore
     File "<frozen importlib._bootstrap_external>", line 850, in exec_module
     File "<frozen importlib._bootstrap>", line 228, in 
_call_with_frames_removed
     File "/usr/local/lib/python3.9/dist-packages/airflow/migrations/env.py", 
line 117, in <module>
       run_migrations_online()
     File "/usr/local/lib/python3.9/dist-packages/airflow/migrations/env.py", 
line 111, in run_migrations_online
       context.run_migrations()
     File "<string>", line 8, in run_migrations
     File 
"/usr/local/lib/python3.9/dist-packages/alembic/runtime/environment.py", line 
938, in run_migrations
       self.get_context().run_migrations(**kw)
     File 
"/usr/local/lib/python3.9/dist-packages/alembic/runtime/migration.py", line 
612, in run_migrations
       for step in self._migrations_fn(heads, self):
     File "/usr/local/lib/python3.9/dist-packages/alembic/command.py", line 
673, in do_stamp
       return script._stamp_revs(util.to_tuple(destination_revs), rev)
     File "/usr/local/lib/python3.9/dist-packages/alembic/script/base.py", line 
494, in _stamp_revs
       self.revision_map.filter_for_lineage(
     File "/usr/local/lib/python3.9/dist-packages/alembic/script/revision.py", 
line 680, in filter_for_lineage
       id_, branch_label = self._resolve_revision_number(check_against)
     File "/usr/local/lib/python3.9/dist-packages/alembic/script/revision.py", 
line 754, in _resolve_revision_number
       self._revision_map
     File 
"/usr/local/lib/python3.9/dist-packages/sqlalchemy/util/langhelpers.py", line 
1113, in __get__
       obj.__dict__[self.__name__] = result = self.fget(obj)
     File "/usr/local/lib/python3.9/dist-packages/alembic/script/revision.py", 
line 197, in _revision_map
       for revision in self._generator():
     File "/usr/local/lib/python3.9/dist-packages/alembic/script/base.py", line 
149, in _load_revisions
       script = Script._from_filename(self, dir_name, filename)
     File "/usr/local/lib/python3.9/dist-packages/alembic/script/base.py", line 
1035, in _from_filename
       module = util.load_python_file(dir_, filename)
     File "/usr/local/lib/python3.9/dist-packages/alembic/util/pyfiles.py", 
line 93, in load_python_file
       module = load_module_py(module_id, path)
     File "/usr/local/lib/python3.9/dist-packages/alembic/util/pyfiles.py", 
line 109, in load_module_py
       spec.loader.exec_module(module)  # type: ignore
     File "<frozen importlib._bootstrap_external>", line 850, in exec_module
     File "<frozen importlib._bootstrap>", line 228, in 
_call_with_frames_removed
     File 
"/usr/local/lib/python3.9/dist-packages/airflow/migrations/versions/0074_2_0_0_resource_based_permissions.py",
 line 30, in <module>
       from airflow.www.app import cached_app
     File "/usr/local/lib/python3.9/dist-packages/airflow/www/app.py", line 50, 
in <module>
       from airflow.www.extensions.init_views import (
     File 
"/usr/local/lib/python3.9/dist-packages/airflow/www/extensions/init_views.py", 
line 27, in <module>
       from connexion.decorators.validation import RequestBodyValidator
   ModuleNotFoundError: No module named 'connexion.decorators.validation'
   ```
   
   If i downgrade connexion to 2.14.2 db migration command succeed
   
   ```
   root@cbe8e0b21de3:/# pip3.9 install connexion==2.14.2
   Collecting connexion==2.14.2
     Downloading connexion-2.14.2-py2.py3-none-any.whl (95 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 95.1/95.1 kB 3.5 MB/s eta 
0:00:00
   Collecting clickclick<21,>=1.2 (from connexion==2.14.2)
     Downloading clickclick-20.10.2-py2.py3-none-any.whl (7.4 kB)
   Requirement already satisfied: jsonschema<5,>=2.5.1 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (4.19.2)
   Requirement already satisfied: PyYAML<7,>=5.1 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (6.0.1)
   Requirement already satisfied: requests<3,>=2.9.1 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (2.31.0)
   Requirement already satisfied: inflection<0.6,>=0.3.1 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (0.5.1)
   Collecting werkzeug<2.3,>=1.0 (from connexion==2.14.2)
     Downloading Werkzeug-2.2.3-py3-none-any.whl (233 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 233.6/233.6 kB 8.1 MB/s eta 
0:00:00
   Requirement already satisfied: packaging>=20 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (23.2)
   Requirement already satisfied: flask<2.3,>=1.0.4 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (2.2.5)
   Requirement already satisfied: itsdangerous>=0.24 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (2.1.2)
   Requirement already satisfied: click>=4.0 in 
/usr/local/lib/python3.9/dist-packages (from 
clickclick<21,>=1.2->connexion==2.14.2) (8.1.7)
   Requirement already satisfied: Jinja2>=3.0 in 
/usr/local/lib/python3.9/dist-packages (from 
flask<2.3,>=1.0.4->connexion==2.14.2) (3.1.2)
   Requirement already satisfied: importlib-metadata>=3.6.0 in 
/usr/local/lib/python3.9/dist-packages (from 
flask<2.3,>=1.0.4->connexion==2.14.2) (6.8.0)
   Requirement already satisfied: attrs>=22.2.0 in 
/usr/local/lib/python3.9/dist-packages (from 
jsonschema<5,>=2.5.1->connexion==2.14.2) (23.1.0)
   Requirement already satisfied: jsonschema-specifications>=2023.03.6 in 
/usr/local/lib/python3.9/dist-packages (from 
jsonschema<5,>=2.5.1->connexion==2.14.2) (2023.7.1)
   Requirement already satisfied: referencing>=0.28.4 in 
/usr/local/lib/python3.9/dist-packages (from 
jsonschema<5,>=2.5.1->connexion==2.14.2) (0.30.2)
   Requirement already satisfied: rpds-py>=0.7.1 in 
/usr/local/lib/python3.9/dist-packages (from 
jsonschema<5,>=2.5.1->connexion==2.14.2) (0.10.6)
   Requirement already satisfied: charset-normalizer<4,>=2 in 
/usr/local/lib/python3.9/dist-packages (from 
requests<3,>=2.9.1->connexion==2.14.2) (3.3.2)
   Requirement already satisfied: idna<4,>=2.5 in 
/usr/lib/python3/dist-packages (from requests<3,>=2.9.1->connexion==2.14.2) 
(2.8)
   Requirement already satisfied: urllib3<3,>=1.21.1 in 
/usr/lib/python3/dist-packages (from requests<3,>=2.9.1->connexion==2.14.2) 
(1.25.8)
   Requirement already satisfied: certifi>=2017.4.17 in 
/usr/lib/python3/dist-packages (from requests<3,>=2.9.1->connexion==2.14.2) 
(2019.11.28)
   Requirement already satisfied: MarkupSafe>=2.1.1 in 
/usr/local/lib/python3.9/dist-packages (from 
werkzeug<2.3,>=1.0->connexion==2.14.2) (2.1.3)
   Requirement already satisfied: zipp>=0.5 in 
/usr/local/lib/python3.9/dist-packages (from 
importlib-metadata>=3.6.0->flask<2.3,>=1.0.4->connexion==2.14.2) (3.17.0)
   Installing collected packages: werkzeug, clickclick, connexion
     Attempting uninstall: werkzeug
       Found existing installation: Werkzeug 3.0.1
       Uninstalling Werkzeug-3.0.1:
         Successfully uninstalled Werkzeug-3.0.1
     Attempting uninstall: connexion
       Found existing installation: connexion 3.0.0
       Uninstalling connexion-3.0.0:
         Successfully uninstalled connexion-3.0.0
   Successfully installed clickclick-20.10.2 connexion-2.14.2 werkzeug-2.2.3
   WARNING: Running pip as the 'root' user can result in broken permissions and 
conflicting behaviour with the system package manager. It is recommended to use 
a virtual environment instead: https://pip.pypa.io/warnings/venv
   root@cbe8e0b21de3:/# airflow db init
   /usr/local/lib/python3.9/dist-packages/airflow/cli/commands/db_command.py:43 
DeprecationWarning: `db init` is deprecated.  Use `db migrate` instead to 
migrate the db and/or airflow connections create-default-connections to create 
the default connections
   DB: sqlite:////root/airflow/airflow.db
   [2023-11-02T13:56:12.691-0400] {migration.py:213} INFO - Context impl 
SQLiteImpl.
   [2023-11-02T13:56:12.714-0400] {migration.py:216} INFO - Will assume 
non-transactional DDL.
   INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
   INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
   INFO  [alembic.runtime.migration] Running stamp_revision  -> 405de8318b3a
   WARNI [airflow.models.crypto] empty cryptography key - values will not be 
stored encrypted.
   Initialization done
   root@cbe8e0b21de3:/#
   ```
   
   ### What you think should happen instead
   
   ```
   root@cbe8e0b21de3:/# pip3.9 install connexion==2.14.2
   Collecting connexion==2.14.2
     Downloading connexion-2.14.2-py2.py3-none-any.whl (95 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 95.1/95.1 kB 3.5 MB/s eta 
0:00:00
   Collecting clickclick<21,>=1.2 (from connexion==2.14.2)
     Downloading clickclick-20.10.2-py2.py3-none-any.whl (7.4 kB)
   Requirement already satisfied: jsonschema<5,>=2.5.1 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (4.19.2)
   Requirement already satisfied: PyYAML<7,>=5.1 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (6.0.1)
   Requirement already satisfied: requests<3,>=2.9.1 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (2.31.0)
   Requirement already satisfied: inflection<0.6,>=0.3.1 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (0.5.1)
   Collecting werkzeug<2.3,>=1.0 (from connexion==2.14.2)
     Downloading Werkzeug-2.2.3-py3-none-any.whl (233 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 233.6/233.6 kB 8.1 MB/s eta 
0:00:00
   Requirement already satisfied: packaging>=20 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (23.2)
   Requirement already satisfied: flask<2.3,>=1.0.4 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (2.2.5)
   Requirement already satisfied: itsdangerous>=0.24 in 
/usr/local/lib/python3.9/dist-packages (from connexion==2.14.2) (2.1.2)
   Requirement already satisfied: click>=4.0 in 
/usr/local/lib/python3.9/dist-packages (from 
clickclick<21,>=1.2->connexion==2.14.2) (8.1.7)
   Requirement already satisfied: Jinja2>=3.0 in 
/usr/local/lib/python3.9/dist-packages (from 
flask<2.3,>=1.0.4->connexion==2.14.2) (3.1.2)
   Requirement already satisfied: importlib-metadata>=3.6.0 in 
/usr/local/lib/python3.9/dist-packages (from 
flask<2.3,>=1.0.4->connexion==2.14.2) (6.8.0)
   Requirement already satisfied: attrs>=22.2.0 in 
/usr/local/lib/python3.9/dist-packages (from 
jsonschema<5,>=2.5.1->connexion==2.14.2) (23.1.0)
   Requirement already satisfied: jsonschema-specifications>=2023.03.6 in 
/usr/local/lib/python3.9/dist-packages (from 
jsonschema<5,>=2.5.1->connexion==2.14.2) (2023.7.1)
   Requirement already satisfied: referencing>=0.28.4 in 
/usr/local/lib/python3.9/dist-packages (from 
jsonschema<5,>=2.5.1->connexion==2.14.2) (0.30.2)
   Requirement already satisfied: rpds-py>=0.7.1 in 
/usr/local/lib/python3.9/dist-packages (from 
jsonschema<5,>=2.5.1->connexion==2.14.2) (0.10.6)
   Requirement already satisfied: charset-normalizer<4,>=2 in 
/usr/local/lib/python3.9/dist-packages (from 
requests<3,>=2.9.1->connexion==2.14.2) (3.3.2)
   Requirement already satisfied: idna<4,>=2.5 in 
/usr/lib/python3/dist-packages (from requests<3,>=2.9.1->connexion==2.14.2) 
(2.8)
   Requirement already satisfied: urllib3<3,>=1.21.1 in 
/usr/lib/python3/dist-packages (from requests<3,>=2.9.1->connexion==2.14.2) 
(1.25.8)
   Requirement already satisfied: certifi>=2017.4.17 in 
/usr/lib/python3/dist-packages (from requests<3,>=2.9.1->connexion==2.14.2) 
(2019.11.28)
   Requirement already satisfied: MarkupSafe>=2.1.1 in 
/usr/local/lib/python3.9/dist-packages (from 
werkzeug<2.3,>=1.0->connexion==2.14.2) (2.1.3)
   Requirement already satisfied: zipp>=0.5 in 
/usr/local/lib/python3.9/dist-packages (from 
importlib-metadata>=3.6.0->flask<2.3,>=1.0.4->connexion==2.14.2) (3.17.0)
   Installing collected packages: werkzeug, clickclick, connexion
     Attempting uninstall: werkzeug
       Found existing installation: Werkzeug 3.0.1
       Uninstalling Werkzeug-3.0.1:
         Successfully uninstalled Werkzeug-3.0.1
     Attempting uninstall: connexion
       Found existing installation: connexion 3.0.0
       Uninstalling connexion-3.0.0:
         Successfully uninstalled connexion-3.0.0
   Successfully installed clickclick-20.10.2 connexion-2.14.2 werkzeug-2.2.3
   WARNING: Running pip as the 'root' user can result in broken permissions and 
conflicting behaviour with the system package manager. It is recommended to use 
a virtual environment instead: https://pip.pypa.io/warnings/venv
   root@cbe8e0b21de3:/# airflow db init
   /usr/local/lib/python3.9/dist-packages/airflow/cli/commands/db_command.py:43 
DeprecationWarning: `db init` is deprecated.  Use `db migrate` instead to 
migrate the db and/or airflow connections create-default-connections to create 
the default connections
   DB: sqlite:////root/airflow/airflow.db
   [2023-11-02T13:56:12.691-0400] {migration.py:213} INFO - Context impl 
SQLiteImpl.
   [2023-11-02T13:56:12.714-0400] {migration.py:216} INFO - Will assume 
non-transactional DDL.
   INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
   INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
   INFO  [alembic.runtime.migration] Running stamp_revision  -> 405de8318b3a
   WARNI [airflow.models.crypto] empty cryptography key - values will not be 
stored encrypted.
   Initialization done
   root@cbe8e0b21de3:/#
   ```
   
   ### How to reproduce
   
   docker run -it --rm --entrypoint /bin/bash ubuntu:focal
   apt install software-properties-common
   add-apt-repository ppa:deadsnakes/ppa
   apt install python3.9 gcc python3.9-dev
   apt install curl
   curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
   apt install python3.9-distutils
   python3.9 get-pip.py
   pip install apache-airflow==2.7.2
   airflow db init
   
   ### Operating System
   
   NAME="Ubuntu" VERSION="20.04.6 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian 
PRETTY_NAME="Ubuntu 20.04.6 LTS" VERSION_ID="20.04" 
HOME_URL="https://www.ubuntu.com/"; SUPPORT_URL="https://help.ubuntu.com/"; 
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"; 
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy";
 VERSION_CODENAME=focal UBUNTU_CODENAME=focal
   
   ### Versions of Apache Airflow Providers
   
   pip3.9 install apache-airflow==2.7.2
   
   ### Deployment
   
   Other
   
   ### Deployment details
   
   docker run -it --rm --entrypoint /bin/bash ubuntu:focal
   apt update 
   apt install software-properties-common
   add-apt-repository ppa:deadsnakes/ppa
   apt update
   apt install curl python3.9 gcc python3.9-dev python3.9-distutils
   curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
   python3.9 get-pip.py
   pip install apache-airflow==2.7.2
   airflow db init
   
   ### Anything else
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
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-unsubscr...@airflow.apache.org.apache.org

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

Reply via email to