raphaelauv opened a new issue, #71664:
URL: https://github.com/apache/airflow/issues/71664
### Under which category would you file this issue?
Airflow Core
### Apache Airflow version
3.2.1
### What happened and how to reproduce it?
when using a custom `airflowLocalSettings` ( airflow_local_settings.py ) in
the helm chart
```yaml
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN :
postgresql://airflow_iam_user:@XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.rds.amazonaws.com:5432/airflow_db?sslmode=require
```
```yaml
airflowLocalSettings: |-
from sqlalchemy import create_engine, event
import boto3
def generate_rds_token(host, port, user, region):
client = boto3.client('rds', region_name=region)
return client.generate_db_auth_token(
DBHostname=host,
Port=port,
DBUsername=user,
Region=region
)
def create_metadata_engine(sql_alchemy_conn, *, engine_args, connect_args):
connect_args["sslmode"]="require"
engine = create_engine(
sql_alchemy_conn,
connect_args=connect_args,
**engine_args,
future=True,
)
@event.listens_for(engine, "do_connect")
def provide_token(dialect, conn_rec, cargs, cparams):
print("SYNC TOKEN RDS")
token = generate_rds_token(
user=cparams["user"],
host=cparams["host"],
port=cparams["port"],
region=cparams["host"].split(".")[2])
cparams["password"] = token
return engine
```
the `apiServer` fail to start but the `migrateDatabaseJob` run successfully
````log
____________ _____________
____ |__( )_________ __/__ /________ __
____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / /
___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ /
_/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/
Running the API server with uvicorn:
Apps: all
Workers: 1
Host: 0.0.0.0:8080
Timeout: 120
Logfiles: -
=================================================================
2026-08-15T23:04:01.809867Z [warning ] starlette.middleware.wsgi is
deprecated and will be removed in a future release. Please refer to
https://github.com/abersheeran/a2wsgi as a replacement. [py.warnings]
category=StarletteDeprecationWarning
filename=/home/airflow/.local/lib/python3.14/site-packages/fastapi/middleware/wsgi.py
lineno=1
2026-08-15T23:04:03.050834Z [warning ] 'return' in a 'finally' block
[py.warnings] category=SyntaxWarning
filename=/home/airflow/.local/lib/python3.14/site-packages/flask_appbuilder/baseviews.py
lineno=1258
2026-08-15T23:04:03.051039Z [warning ] 'return' in a 'finally' block
[py.warnings] category=SyntaxWarning
filename=/home/airflow/.local/lib/python3.14/site-packages/flask_appbuilder/baseviews.py
lineno=1305
2026-08-15T23:04:04.005226Z [warning ] Using the in-memory storage for
tracking rate limits as no storage was explicitly specified. This is not
recommended for production use. See:
https://flask-limiter.readthedocs.io#configuring-a-storage-backend for
documentation about configuring the storage backend. [py.warnings]
category=UserWarning
filename=/home/airflow/.local/lib/python3.14/site-packages/flask_limiter/_extension.py
lineno=364
Traceback (most recent call last):
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/base.py",
line 144, in __init__
self._dbapi_connection = engine.raw_connection()
~~~~~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/base.py",
line 3319, in raw_connection
return self.pool.connect()
~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 448, in connect
return _ConnectionFairy._checkout(self)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 1272, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 712, in checkout
rec = pool._do_get()
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/impl.py",
line 178, in _do_get
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py",
line 122, in __exit__
raise exc_value.with_traceback(exc_tb)
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/impl.py",
line 176, in _do_get
return self._create_connection()
~~~~~~~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 389, in _create_connection
return _ConnectionRecord(self)
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 674, in __init__
self.__connect()
~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 900, in __connect
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py",
line 122, in __exit__
raise exc_value.with_traceback(exc_tb)
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 896, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
~~~~~~~~~~~~~~~~~~~~^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/create.py",
line 667, in connect
return dialect.connect(*cargs_tup, **cparams)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/default.py",
line 630, in connect
return self.loaded_dbapi.connect(*cargs, **cparams) # type:
ignore[no-any-return] # NOQA: E501
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/psycopg2/__init__.py", line
122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: connection to server at
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.rds.amazonaws.com" (YYY.YY.YY.YYY), port
5432 failed: fe_sendauth: no password supplied
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/airflow/.local/bin/airflow", line 6, in <module>
sys.exit(main())
~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/__main__.py", line
61, in main
args.func(args)
~~~~~~~~~^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/cli/cli_config.py",
line 49, in command
return func(*args, **kwargs)
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/utils/cli.py", line
113, in wrapper
return f(*args, **kwargs)
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/utils/providers_configuration_loader.py",
line 54, in wrapped_function
return func(*args, **kwargs)
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/cli/commands/api_server_command.py",
line 205, in wrapper
return func(args)
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/cli/commands/api_server_command.py",
line 249, in api_server
run_command_with_daemon_option(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
args=args,
^^^^^^^^^^
...<7 lines>...
),
^^
)
^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/cli/commands/daemon_utils.py",
line 82, in run_command_with_daemon_option
callback()
~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/cli/commands/api_server_command.py",
line 252, in <lambda>
callback=lambda: _run_api_server(
~~~~~~~~~~~~~~~^
args=args,
^^^^^^^^^^
...<3 lines>...
proxy_headers=proxy_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
),
^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/utils/memray_utils.py",
line 61, in wrapper
return func(*args, **kwargs)
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/cli/commands/api_server_command.py",
line 186, in _run_api_server
run(
~~~^
args=args,
^^^^^^^^^^
...<3 lines>...
proxy_headers=proxy_headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/cli/commands/api_server_command.py",
line 138, in _run_api_server_with_uvicorn
uvicorn.run(
~~~~~~~~~~~^
"airflow.api_fastapi.main:app",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**uvicorn_kwargs,
^^^^^^^^^^^^^^^^^
)
^
File "/home/airflow/.local/lib/python3.14/site-packages/uvicorn/main.py",
line 609, in run
config.load_app()
~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/uvicorn/config.py", line
428, in load_app
return import_from_string(self.app)
File
"/home/airflow/.local/lib/python3.14/site-packages/uvicorn/importer.py", line
19, in import_from_string
module = importlib.import_module(module_str)
File "/usr/python/lib/python3.14/importlib/__init__.py", line 88, in
import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1398, in _gcd_import
File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
File "<frozen importlib._bootstrap>", line 1342, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 938, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 759, in exec_module
File "<frozen importlib._bootstrap>", line 491, in
_call_with_frames_removed
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/api_fastapi/main.py",
line 46, in <module>
app = cached_app(apps=os.environ.get("AIRFLOW_API_APPS", "all"))
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/api_fastapi/app.py",
line 162, in cached_app
return create_app(apps=apps)
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/utils/providers_configuration_loader.py",
line 54, in wrapped_function
return func(*args, **kwargs)
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/api_fastapi/app.py",
line 148, in create_app
init_auth_manager(app)
~~~~~~~~~~~~~~~~~^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/api_fastapi/app.py",
line 205, in init_auth_manager
if app and (auth_manager_fastapi_app := am.get_fastapi_app()):
~~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/providers/fab/auth_manager/fab_auth_manager.py",
line 223, in get_fastapi_app
flask_app = create_app(enable_plugins=False)
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/providers/fab/www/app.py",
line 130, in create_app
init_airflow_session_interface(flask_app, db)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/providers/fab/www/extensions/init_session.py",
line 48, in init_airflow_session_interface
app.session_interface = AirflowDatabaseSessionInterface(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
app=app,
^^^^^^^^
...<7 lines>...
use_signer=True,
^^^^^^^^^^^^^^^^
)
^
File
"/home/airflow/.local/lib/python3.14/site-packages/airflow/providers/fab/www/session.py",
line 62, in __init__
super().__init__(*args, **kwargs)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/flask_session/sqlalchemy/sqlalchemy.py",
line 112, in __init__
self.sql_session_model.__table__.create(bind=engine, checkfirst=True)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/sql/schema.py",
line 1289, in create
bind._run_ddl_visitor(ddl.SchemaGenerator, self, checkfirst=checkfirst)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/base.py",
line 3269, in _run_ddl_visitor
with self.begin() as conn:
~~~~~~~~~~^^
File "/usr/python/lib/python3.14/contextlib.py", line 141, in __enter__
return next(self.gen)
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/base.py",
line 3259, in begin
with self.connect() as conn:
~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/base.py",
line 3295, in connect
return self._connection_cls(self)
~~~~~~~~~~~~~~~~~~~~^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/base.py",
line 146, in __init__
Connection._handle_dbapi_exception_noconnection(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
err, dialect, engine
^^^^^^^^^^^^^^^^^^^^
)
^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/base.py",
line 2450, in _handle_dbapi_exception_noconnection
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/base.py",
line 144, in __init__
self._dbapi_connection = engine.raw_connection()
~~~~~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/base.py",
line 3319, in raw_connection
return self.pool.connect()
~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 448, in connect
return _ConnectionFairy._checkout(self)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 1272, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 712, in checkout
rec = pool._do_get()
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/impl.py",
line 178, in _do_get
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py",
line 122, in __exit__
raise exc_value.with_traceback(exc_tb)
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/impl.py",
line 176, in _do_get
return self._create_connection()
~~~~~~~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 389, in _create_connection
return _ConnectionRecord(self)
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 674, in __init__
self.__connect()
~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 900, in __connect
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py",
line 122, in __exit__
raise exc_value.with_traceback(exc_tb)
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/pool/base.py",
line 896, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
~~~~~~~~~~~~~~~~~~~~^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/create.py",
line 667, in connect
return dialect.connect(*cargs_tup, **cparams)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/sqlalchemy/engine/default.py",
line 630, in connect
return self.loaded_dbapi.connect(*cargs, **cparams) # type:
ignore[no-any-return] # NOQA: E501
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File
"/home/airflow/.local/lib/python3.14/site-packages/psycopg2/__init__.py", line
122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to
server at "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.rds.amazonaws.com"
(YYY.YY.YY.YYY), port 5432 failed: fe_sendauth: no password supplied
(Background on this error at: https://sqlalche.me/e/20/e3q8)
```
### What you think should happen instead?
_No response_
### Operating System
_No response_
### Deployment
None
### Apache Airflow Provider(s)
_No response_
### Versions of Apache Airflow Providers
_No response_
### Official Helm Chart version
1.22.0 (latest released)
### Kubernetes Version
1.36
### Helm Chart configuration
_No response_
### Docker Image customizations
_No response_
### 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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]