{"action":"created","issue":{"url":"https://api.github.com/repos/apache/trafficserver/issues/1262","repository_url":"https://api.github.com/repos/apache/trafficserver","labels_url":"https://api.github.com/repos/apache/trafficserver/issues/1262/labels{/name}","comments_url":"https://api.github.com/repos/apache/trafficserver/issues/1262/comments","events_url":"https://api.github.com/repos/apache/trafficserver/issues/1262/events","html_url":"https://github.com/apache/trafficserver/pull/1262","id":195555773,"number":1262,"title":"TS-5092: ATS handling of too many concurrent streams too agressive","user":{"login":"shinrich","id":334488,"avatar_url":"https://avatars.githubusercontent.com/u/334488?v=3","gravatar_id":"","url":"https://api.github.com/users/shinrich","html_url":"https://github.com/shinrich","followers_url":"https://api.github.com/users/shinrich/followers","following_url":"https://api.github.com/users/shinrich/following{/other_user}","gists_url":"https://api.github.com/users/shinrich/gists{/gist_id}","starred_url":"https://api.github.com/users/shinrich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shinrich/subscriptions","organizations_url":"https://api.github.com/users/shinrich/orgs","repos_url":"https://api.github.com/users/shinrich/repos","events_url":"https://api.github.com/users/shinrich/events{/privacy}","received_events_url":"https://api.github.com/users/shinrich/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-12-14T15:08:42Z","updated_at":"2016-12-14T15:24:01Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/trafficserver/pulls/1262","html_url":"https://github.com/apache/trafficserver/pull/1262","diff_url":"https://github.com/apache/trafficserver/pull/1262.diff","patch_url":"https://github.com/apache/trafficserver/pull/1262.patch"},"body":"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.\r\nWith 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.\r\nA 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.\r\nPresumably the client library is expecting the refused stream case so it can try again later.\r\n\r\nThe main change is in create_stream().  Added error messages through the H2Error() object to enable this debugging and future tracking down of error conditions."},"comment":{"url":"https://api.github.com/repos/apache/trafficserver/issues/comments/267062162","html_url":"https://github.com/apache/trafficserver/pull/1262#issuecomment-267062162","issue_url":"https://api.github.com/repos/apache/trafficserver/issues/1262","id":267062162,"user":{"login":"atsci","id":19295688,"avatar_url":"https://avatars.githubusercontent.com/u/19295688?v=3","gravatar_id":"","url":"https://api.github.com/users/atsci","html_url":"https://github.com/atsci","followers_url":"https://api.github.com/users/atsci/followers","following_url":"https://api.github.com/users/atsci/following{/other_user}","gists_url":"https://api.github.com/users/atsci/gists{/gist_id}","starred_url":"https://api.github.com/users/atsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atsci/subscriptions","organizations_url":"https://api.github.com/users/atsci/orgs","repos_url":"https://api.github.com/users/atsci/repos","events_url":"https://api.github.com/users/atsci/events{/privacy}","received_events_url":"https://api.github.com/users/atsci/received_events","type":"User","site_admin":false},"created_at":"2016-12-14T15:24:01Z","updated_at":"2016-12-14T15:24:01Z","body":"Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/1160/ for details.\n \n"}}
{"actor":{"display_login":"atsci"}}