[ https://issues.apache.org/jira/browse/TS-5092?focusedWorklogId=34466&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-34466 ]
ASF GitHub Bot logged work on TS-5092: -------------------------------------- Author: ASF GitHub Bot Created on: 01/Jan/17 16:53 Start Date: 01/Jan/17 16:53 Worklog Time Spent: 10m Work Description: Github user maskit commented on a diff in the pull request: https://github.com/apache/trafficserver/pull/1262#discussion_r94285648 --- Diff: proxy/http2/Http2ConnectionState.cc --- @@ -127,10 +128,11 @@ rcv_data_frame(Http2ConnectionState &cstate, const Http2Frame &frame) // Check whether Window Size is acceptable if (cstate.server_rwnd < payload_length) { - return Http2Error(HTTP2_ERROR_CLASS_CONNECTION, HTTP2_ERROR_FLOW_CONTROL_ERROR); + return Http2Error(HTTP2_ERROR_CLASS_CONNECTION, HTTP2_ERROR_FLOW_CONTROL_ERROR, + "recv data cstate.server_rwnd < payload_length"); } if (stream->server_rwnd < payload_length) { - return Http2Error(HTTP2_ERROR_CLASS_STREAM, HTTP2_ERROR_FLOW_CONTROL_ERROR); + return Http2Error(HTTP2_ERROR_CLASS_STREAM, HTTP2_ERROR_FLOW_CONTROL_ERROR, "recvdata stream->server_rwnd < payload_length"); --- End diff -- "recv data" -- please add a space. Issue Time Tracking ------------------- Worklog Id: (was: 34466) Time Spent: 40m (was: 0.5h) > ATS handling of too many concurrent streams too agressive and maybe out of > spec > ------------------------------------------------------------------------------- > > Key: TS-5092 > URL: https://issues.apache.org/jira/browse/TS-5092 > Project: Traffic Server > Issue Type: Bug > Components: HTTP/2 > Reporter: Susan Hinrichs > Assignee: Susan Hinrichs > Fix For: 7.1.0 > > Time Spent: 40m > Remaining Estimate: 0h > > This issue was identified while debugging new errors seen by an internal team > after they enabled HTTP/2 in their client. On the backend, they saw an > increase in the cases were ATS sends the origin the POST header but no POST > body and then closes the connection. > With the addition of Error() messages we were able to see a case where the > client is trying to open the 101'st stream on a session. This is beyond the > 100 max concurrent stream limit, so ATS shuts down the session which kills > the previous 100 streams. > A closer reading of section 5.1.2 of the spec > (https://tools.ietf.org/html/rfc7540#section-5.1.2) indicates that this > should be a stream error and not a connection error. Bryan Call, Masaori, and > Maskit confirmed this interpretation. Maskit also noted that the other error > case in the current createStream method must be treated as a connection error. > Presumably the client library is expecting the refused stream case so it can > try again later. -- This message was sent by Atlassian JIRA (v6.3.4#6332)