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

uber / tchannel-go / 3314 / 4
88%
dev: 88%

Build:
DEFAULT BRANCH: dev
Ran 02 Aug 2017 08:29PM UTC
Files 44
Run time 3s
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

02 Aug 2017 08:23PM UTC coverage: 87.53% (-0.4%) from 87.916%
3314.4

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.

4324 of 4940 relevant lines covered (87.53%)

7096.78 hits per line

Source Files on job 3314.4
  • Tree
  • List 0
  • Changed 38
  • Source Changed 1
  • Coverage Changed 38
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 3314
  • Travis Job 3314.4
  • 2d75494d on github
  • Prev Job for on dev (#3301.1)
  • Next Job for on dev (#3317.4)
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