gpopides
04/28/2026, 2:10 PMfun Application.configureProbes() {
routing {
get("/health") { call.respond(HttpStatusCode.OK) }
get("/ready") { call.respond(HttpStatusCode.OK) }
}
}
we use these for kubernetes probes. With 3.4.2 when calling these (locally, using the docker image)
default ❮ curl -N -L -v <http://localhost:8022/ready>
* Host localhost:8022 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8022...
* Established connection to localhost (::1 port 8022) from ::1 port 45764
* using HTTP/1.x
> GET /ready HTTP/1.1
> Host: localhost:8022
> User-Agent: curl/8.18.0
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 200 OK
< Content-Length: 0
<
* Connection #0 to host localhost:8022 left intact
we get back the expected response.
With 3.4.3 though we dont:
default ❯ curl -N -L -v <http://localhost:8022/ready>
* Host localhost:8022 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8022...
* Established connection to localhost (::1 port 8022) from ::1 port 60500
* using HTTP/1.x
> GET /ready HTTP/1.1
> Host: localhost:8022
> User-Agent: curl/8.18.0
> Accept: */*
>
* Request completely sent off
* Empty reply from server
* shutting down connection #0
curl: (52) Empty reply from server
looking at the changelog, i cant see something related. Is there something more specific that i can look at?
Code is exactly the same
Thanksgpopides
04/28/2026, 2:17 PMgpopides
04/28/2026, 2:25 PM4.2.9 and 3.4.3 uses 4.2.12
Using 3.4.3 and forcing netty 4.2.9 works.
I'm not sure if this is a ktor or netty issue thoughBruce Hamilton
04/28/2026, 2:44 PMgpopides
04/28/2026, 2:52 PMgpopides
04/28/2026, 3:18 PMgpopides
04/28/2026, 3:29 PMAleksei Tirman [JB]
04/29/2026, 8:19 AMgpopides
04/29/2026, 8:33 AM