[ https://issues.apache.org/jira/browse/TS-4720?focusedWorklogId=26215&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-26215 ]
ASF GitHub Bot logged work on TS-4720: -------------------------------------- Author: ASF GitHub Bot Created on: 05/Aug/16 21:51 Start Date: 05/Aug/16 21:51 Worklog Time Spent: 10m Work Description: Github user jacksontj closed the pull request at: https://github.com/apache/trafficserver/pull/841 Issue Time Tracking ------------------- Worklog Id: (was: 26215) Time Spent: 1h (was: 50m) > ATS not properly closing origin connections in client abort situations > ---------------------------------------------------------------------- > > Key: TS-4720 > URL: https://issues.apache.org/jira/browse/TS-4720 > Project: Traffic Server > Issue Type: Bug > Components: HTTP > Reporter: Thomas Jackson > Assignee: Thomas Jackson > Fix For: 7.0.0 > > Time Spent: 1h > Remaining Estimate: 0h > > We've noticed that there are some scenarios that ATS doesn't close the origin > connection when the client aborts. To reproduce I set up an http server which > would return a text/stream sending a message every 10s. In this case, if I do > a GET request to the endpoint and then immediately kill the client, the > connection to the origin doesn't close until the transaction active timer > kicks in. > After digging into this, it seems that this is actually due to a bug in the > HttpSM-- specifically in how it checks whether a request has a body. The > default value for content-length is `-1`, but some checks are `== 0` -- which > means that if the request had no content-length header it is treated as a > request with a content-length. > The particular place that was problematic was the section that enables the > vio reader to watch for client aborts-- which specifically isn't enabled for > POST/chunked requests as it is enabled later down the call chain (since it > needs to handle the buffers itself). -- This message was sent by Atlassian JIRA (v6.3.4#6332)