Skip to content

Conversation

@ashb
Copy link
Member

@ashb ashb commented Sep 16, 2025

We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on :: ended up only listening on IPv6, but the
entry in /etc/hosts in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes #55470

We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
@ashb ashb added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Sep 16, 2025
@ashb ashb added this to the Airflow 3.1.0 milestone Sep 16, 2025
Copy link
Contributor

@amoghrajesh amoghrajesh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch!

@ashb ashb merged commit 9ff753d into apache:main Sep 16, 2025
61 checks passed
@ashb ashb deleted the ipv6-dual-stack-logs-fix branch September 16, 2025 13:05
kaxil pushed a commit that referenced this pull request Sep 16, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes #55470

(cherry picked from commit 9ff753d)
suman-himanshu pushed a commit to suman-himanshu/airflow that referenced this pull request Sep 17, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Sep 30, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 1, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 2, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 3, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 4, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 5, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 5, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 7, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 8, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 9, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 10, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 11, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 12, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 14, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 15, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 17, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
abdulrahman305 bot pushed a commit to abdulrahman305/airflow that referenced this pull request Oct 19, 2025
We were trying to be "smart" about what interface we listened on, but that
isn't really needed, and passing an empty host achieves the same effect:

```
$ netstat -antlp  | grep 8793
tcp        0      0 0.0.0.0:8793            0.0.0.0:*               LISTEN      85699/airflow serve
tcp6       0      0 :::8793                 :::*                    LISTEN      85699/airflow serve
```

The existing approach was working fine for most people (including myself) it
was working fine and listening on ipv6 and v4 wildcard interfaces as expected,
but some Docker/container set ups this was not the case, and despite Dualstack
saying True, listening on `::` ended up _only_ listening on IPv6, but the
entry in `/etc/hosts` in the container only had an entry for the IPv4 address
of the pod, which we weren't listening on, so log requests would fail.

Which is all a round about way of saying "doing less works better" 😀

(We also don't need the getattr+lambda anymore, as that was to support Python
<= 3.7!)

Fixes apache#55470
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Getting error in API server while trying to fetch trigger logs in deferred and running state

2 participants