omacchioni opened a new issue, #71357:
URL: https://github.com/apache/airflow/issues/71357
### Under which category would you file this issue?
Airflow Core
### Apache Airflow version
3.3.0
### What happened and how to reproduce it?
Running Airflow within Docker version `29.3.1` (docker compose).
All my DAGs run perfectly well, and after some point they start massively
failing with the following log in the GUI:
```
▶Log message source details
Could not read served logs: Hostname not available for worker. Please check
your `hostname_callable` configuration.
```
Restating the Docker host and clearing the failed tasks sometimes fixes the
errors, but not always.
Running the following query shows me an empty (and not NULL) hostname:
```
SELECT
hostname
FROM task_instance
WHERE dag_id = 'xx'
AND task_id = 'xx'
AND run_id = 'scheduled__2026-08-10T05:58:00+00:00';
```
Maybe this is relevant in the configuration:
```
hostname_callable = airflow.utils.net.getfqdn
executor = LocalExecutor
```
### What you think should happen instead?
I should be able to access the logfiles - and actually the dags should run
without any issue.
### Operating System
Docker host: Debian GNU/Linux 13 (trixie), container: Alpine Linux 3.22.5
### Deployment
Docker-Compose
### Apache Airflow Provider(s)
_No response_
### Versions of Apache Airflow Providers
apache-airflow-providers-apache-kafka==1.14.0
apache-airflow-providers-common-compat==1.15.0
apache-airflow-providers-common-io==1.8.0
apache-airflow-providers-common-sql==2.0.1
apache-airflow-providers-fab==3.7.1
apache-airflow-providers-mysql==6.6.1
apache-airflow-providers-postgres==6.8.0
apache-airflow-providers-smtp==3.0.1
apache-airflow-providers-ssh==5.0.3
apache-airflow-providers-standard==1.15.0
### Official Helm Chart version
Not Applicable
### Kubernetes Version
_No response_
### Helm Chart configuration
_No response_
### Docker Image customizations
ARG PYTHON_VERSION=3.10.18
FROM python:${PYTHON_VERSION}-alpine AS builder
ARG ALPINE_VERSION=3.22
# Setup proxy - which we don't have for this Docker instance
RUN \
echo "https://XXXX/repository/alpine-proxy/v${ALPINE_VERSION}/main/" >
/etc/apk/repositories && \
echo
"https://XXXX/repository/alpine-proxy/v${ALPINE_VERSION}/community/" >>
/etc/apk/repositories
COPY pip.conf pip.conf
ENV WORKDIR=/srv/airflow
# UV options
ENV UV_COMPILE_BYTECODE=1
ENV UV_CONCURRENT_DOWNLOADS=4
ENV UV_PYTHON=$PYTHON_VERSION
WORKDIR $WORKDIR
# Upgrade Alpine and base packages
RUN apk --no-cache --update-cache --available upgrade
RUN apk add --no-cache --update-cache gcc libpq-dev python3-dev build-base
cmake librdkafka-dev libffi-dev py3-pybind11-dev abseil-cpp-dev openldap-dev \
re2-dev mariadb-dev && rm -rf /var/cache/apk/*
# Compile ccrypt for matrix decryption
ENV CCRYPT=ccrypt-1.11
COPY src/$CCRYPT.tar.gz /tmp
RUN cd /tmp && tar zxvf $CCRYPT.tar.gz && cd $CCRYPT && ./configure
--prefix=/srv/bin && make && make install
# We put this here... so if requirements.txt doesn't change, this step and
the next RUN are not actually ran, they're taken from the cache
COPY requirements.txt .
RUN pip install uv && uv venv /srv/venv && . /srv/venv/bin/activate && uv
pip install -r requirements.txt && uv cache clean
RUN apk del gcc libpq-dev python3-dev build-base cmake librdkafka-dev
libffi-dev py3-pybind11-dev abseil-cpp-dev mariadb-dev
# Second stage - production
FROM python:${PYTHON_VERSION}-alpine AS final
ENV WORKDIR=/srv/airflow
RUN mkdir -p "$WORKDIR" "$WORKDIR/dags" "$WORKDIR/plugins" "$WORKDIR/logs"
"$WORKDIR/logs/scheduler"
RUN apk --no-cache --update-cache --available upgrade
RUN apk add --no-cache --update-cache libpq librdkafka libffi py3-pybind11
abseil-cpp postgresql-client re2 tzdata bash gpg gpg-agent pkgconf mariadb-dev
libldap curl && rm -rf /var/cache/apk/*
COPY --from=builder /srv/venv /srv/venv
COPY --from=builder /srv/bin /srv/bin
COPY --from=builder /etc/apk/repositories /etc/apk/repositories
COPY . $WORKDIR
ENV PYTHONUNBUFFERED=1
COPY airflow.cfg webserver_config.py dags/ "$WORKDIR"
ENV PYTHONUNBUFFERED=1
ENV PATH="/srv/venv/bin:$PATH"
ENV AIRFLOW_HOME=/srv/airflow
CMD ["/bin/sh"]
### 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]