Skip to content

Commit

Permalink
finagle-core: add recvAddress to IOExceptionStrings
Browse files Browse the repository at this point in the history
[Problem]
finagle/finagle-http/src/test/scala:scala becomes flaky after Netty upgrade to 4.1.100.Final.
It was become some tests fail with
```
Caused by: com.twitter.finagle.UnknownChannelException: recvAddress(..) failed:
Connection reset by peer at remote address: 0.0.0.0/127.0.0.1:34938 from service: client.
Remote Info: Upstream Address: Not Available, Upstream id: Not Available, Downstream Address: /0.0.0.0:34938,
Downstream label: client, Trace Id: b9f67d678f5fac8c.b9f67d678f5fac8c<:b9f67d678f5fac8c
```
and they are expected to com.twitter.finagle.ChannelClosedException

[Solution]
Add `recvAddress(..) failed: Connection reset by peer` to the
list of known exception strings

JIRA Issues: CSL-12408

Differential Revision: https://phabricator.twitter.biz/D1104650
  • Loading branch information
WUMUXIAN authored and jenkins committed Oct 16, 2023
1 parent c07b9d0 commit 83e31f8
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 2 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ Runtime Behavior Changes

* finagle: Bump version of Jackson to 2.14.3. ``PHAB_ID=D1069160``

Bug Fixes
~~~~~~~~~~

* finagle-core: Failed recvAddress on Linux due to the remote peer resetting connection should now
be properly seen as a `c.t.f.ChannelClosedException` instead of a
`c.t.f.UnknownChannelException`. ``PHAB_ID=`D1104650`
22.12.0
-------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ private[finagle] object IOExceptionStrings {
"readAddress(..) failed: Connection reset by peer", // Found on linux w/ native epoll
"writeAddress(..) failed: Connection reset by peer", // Found on linux w/ native epoll
"writevAddresses(..) failed: Connection reset by peer", // Found on linux w/ native epoll
"writevAddresses(..) failed: Broken pipe" // Found on linux w/ native epoll
"writevAddresses(..) failed: Broken pipe", // Found on linux w/ native epoll
"recvAddress(..) failed: Connection reset by peer" // Found on linux
)

/** Strings that commonly signal failure to establish a socket connection */
Expand Down
1 change: 0 additions & 1 deletion finagle-http/src/test/scala/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ junit_tests(
platform = "java8",
tags = [
"bazel-compatible",
"known-to-fail-jira:CSL-12408",
],
dependencies = [
"3rdparty/jvm/com/google/code/findbugs:jsr305",
Expand Down

0 comments on commit 83e31f8

Please sign in to comment.