Skip to content

Airflow worker start failed if password contains question mark (?) in AIRFLOW__DATABASE__SQL_ALCHEMY_CONN url  #43150

@thedevd

Description

@thedevd

Apache Airflow version

Other Airflow 2 version (please specify below)

If "Other Airflow 2 version" selected, which one?

2.3.4

What happened?

On one of the customer deployment, Airflow worker started failing to start because password used to setup AIRFLOW__DATABASE__SQL_ALCHEMY_CONN has a question mark (eg - odLKJH!i8Udg?NL_ )

Traceback (most recent call last):[0m
  File "/usr/local/lib/python3.10/dist-packages/celery/worker/worker.py", line 203, in start[0m
    self.blueprint.start(self)[0m
  File "/usr/local/lib/python3.10/dist-packages/celery/bootsteps.py", line 112, in start[0m
    self.on_start()[0m
  File "/usr/local/lib/python3.10/dist-packages/celery/apps/worker.py", line 136, in on_start[0m
    self.emit_banner()[0m
  File "/usr/local/lib/python3.10/dist-packages/celery/apps/worker.py", line 170, in emit_banner[0m
    ' \n', self.startup_info(artlines=not use_image))),[0m
  File "/usr/local/lib/python3.10/dist-packages/celery/apps/worker.py", line 232, in startup_info[0m
    results=self.app.backend.as_uri(),[0m
  File "/usr/local/lib/python3.10/dist-packages/celery/backends/base.py", line 151, in as_uri[0m
    url = maybe_sanitize_url(self.url or '')[0m
  File "/usr/local/lib/python3.10/dist-packages/kombu/utils/url.py", line 112, in maybe_sanitize_url[0m
    return sanitize_url(url, mask)[0m
  File "/usr/local/lib/python3.10/dist-packages/kombu/utils/url.py", line 105, in sanitize_url[0m
    return as_url(*_parse_url(url), sanitize=True, mask=mask)[0m
  File "/usr/local/lib/python3.10/dist-packages/kombu/utils/url.py", line 70, in url_to_parts[0m
    parts.port,[0m
  File "/usr/lib/python3.10/urllib/parse.py", line 185, in port[0m
    raise ValueError(f"Port could not be cast to integer value as {port!r}")[0m
ValueError: Port could not be cast to integer value as 'odLKJH!i8Udg'[0m
[2024-10-15 13:29:15 +0000] [56571] [INFO] Handling signal: term[0m
[2024-10-15 13:29:15 +0000] [56572] [INFO] Worker exiting (pid: 56572)[0m
[2024-10-15 13:29:15 +0000] [56573] [INFO] Worker exiting (pid: 56573)[0m
[2024-10-15 13:29:15 +0000] [56571] [INFO] Shutting down: Master[0m

What you think should happen instead?

No response

How to reproduce

Use password with question mark as special character in AIRFLOW__DATABASE__SQL_ALCHEMY_CONN db url

Operating System

Ubuntu 20.04.6 LTS

Versions of Apache Airflow Providers

2.3.4

Deployment

Other

Deployment details

Kubernets

Anything else?

NA

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:corekind:bugThis is a clearly a bugneeds-triagelabel for new issues that we didn't triage yet

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions