• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

uber / tchannel-go / 3314
88%

Build:
DEFAULT BRANCH: dev
Ran 02 Aug 2017 08:26PM UTC
Jobs 4
Files 45
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
3314

push

travis-ci

prashantv
bugfix: cancel server context on client tcp close (#635)

**Problem Description:**
When a client crashes, the linux kernel will automatically initiate a tcp_close by sending a FIN request to the server. The server kernel, in response, will the ACK the FIN and move to CLOSE_WAIT, waiting for the app to close the socket. However, tchannel doesn't set the context to done on a connection read error on the server, the conn.Close() won't be called until the context deadline expires. This is bad when tchannel is used for long polling. 

**Solution:**
This patch fixes the problem by marking the server side inbound call context as canceled on a tcp read error. It also marks the msgExchange as expired in the mex, so that it can be subsequently removed. There is already a TODO in the existing code to get rid of the goroutine (on Inbound) per call. This patch does not fix this TODO. 

**Testing:**
Created a unit test that reproduces the mentioned problem. The unit test doesn't use the client channel, instead sends a call directly on the tcp connection.

2 of 2 new or added lines in 1 file covered. (100.0%)

4397 of 4944 relevant lines covered (88.94%)

26642.29 hits per line

Jobs
ID Job ID Ran Files Coverage
1 3314.1 02 Aug 2017 08:26PM UTC 0
87.84
Travis Job 3314.1
2 3314.2 02 Aug 2017 08:27PM UTC 0
87.45
Travis Job 3314.2
3 3314.3 02 Aug 2017 08:26PM UTC 0
88.58
Travis Job 3314.3
4 3314.4 02 Aug 2017 08:29PM UTC 0
87.53
Travis Job 3314.4
Source Files on build 3314
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #3314
  • 2d75494d on github
  • Prev Build on dev (#3301)
  • Next Build on dev (#3317)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc