You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using the MicrometerObservationCapability, any java.net.SocketTimeoutException is not caught and observations is never closed (MicrometerObservationCapability#enrich only catches FeignExceptions). Probably affects other errors from the underlying web layer too. The result is that these requests are never added to the metrics. There is either an ordering error, or MicrometerObservationCapability should catch more types of errors
Sample
No specific config added. Plain FeignClients
@FeignClient(name = "NAME", url = "${url.prop}")
interface Client {
// calls here
}
@Configuration
class FeignConfig {
@Bean
def observation(observationRegistry: ObservationRegistry): MicrometerObservationCapability = new MicrometerObservationCapability(observationRegistry, new DefaultFeignObservationConvention())
}
Caused by: java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:288)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:314)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:244)
at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:343)
at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:826)
at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:761)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1688)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529)
at feign.Client$Default.convertResponse(Client.java:111)
at feign.Client$Default.execute(Client.java:107)
at feign.micrometer.MicrometerObservationCapability.lambda$enrich$1(MicrometerObservationCapability.java:53)
at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:100)
The text was updated successfully, but these errors were encountered:
Describe the bug
Feign cloud version:
4.1.0
When using the MicrometerObservationCapability, any
java.net.SocketTimeoutException
is not caught and observations is never closed (MicrometerObservationCapability#enrich only catches FeignExceptions
). Probably affects other errors from the underlying web layer too. The result is that these requests are never added to the metrics. There is either an ordering error, orMicrometerObservationCapability
should catch more types of errorsSample
No specific config added. Plain FeignClients
application.yml
Stacktrace
The text was updated successfully, but these errors were encountered: