{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/AspNetKatana/issues/177","repository_url":"https://api.github.com/repos/aspnet/AspNetKatana","labels_url":"https://api.github.com/repos/aspnet/AspNetKatana/issues/177/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/AspNetKatana/issues/177/comments","events_url":"https://api.github.com/repos/aspnet/AspNetKatana/issues/177/events","html_url":"https://github.com/aspnet/AspNetKatana/issues/177","id":301428189,"number":177,"title":"Weird automatic queuing for identical GET requests?","user":{"login":"KevivL","id":8847016,"avatar_url":"https://avatars2.githubusercontent.com/u/8847016?v=4","gravatar_id":"","url":"https://api.github.com/users/KevivL","html_url":"https://github.com/KevivL","followers_url":"https://api.github.com/users/KevivL/followers","following_url":"https://api.github.com/users/KevivL/following{/other_user}","gists_url":"https://api.github.com/users/KevivL/gists{/gist_id}","starred_url":"https://api.github.com/users/KevivL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KevivL/subscriptions","organizations_url":"https://api.github.com/users/KevivL/orgs","repos_url":"https://api.github.com/users/KevivL/repos","events_url":"https://api.github.com/users/KevivL/events{/privacy}","received_events_url":"https://api.github.com/users/KevivL/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-03-01T14:38:56Z","updated_at":"2018-03-01T16:56:56Z","closed_at":null,"author_association":"NONE","body":"I'm using microsoft.owin.host.httplistener v4.0 with the rest of the OWIN selfhost pipeline. Testing on a win7 desktop at the moment.\r\n\r\nIf i have a slightly long running controller like so:\r\n\r\n        [HttpGet]\r\n        [Route(\"wait\")]\r\n        public async Task<IHttpActionResult> Wait()\r\n        {\r\n            System.Console.WriteLine(\"Not Started\");\r\n            await Task.Delay(20000);\r\n            return Ok();\r\n        }\r\n\r\nMultiple calls from the same host are immediately queued and never enter the controller in parallel.\r\nI do see concurrent execution in cases of - a different host, different url (adding in a random query string), and funnily enough on a POST request (up to 5).\r\n\r\nLooks like a fairness/scheduling thing in the selfhost? Possibly in the listener? It makes sense for the general use case but is there any way to control/modify this behavior?\r\n\r\nI do have a controller in production where this is a bit of an issue, some requests can take a second or two to return so in the case of multiple requests from the same host they simply get queued up instead of going concurrently and i don't have any intervention open on my end to fix the specific case because it never even enters the controller.\r\n\r\nI can inject a middleware but that can at best reject/debounce the subsequent requests but can't force concurrent execution?"},"comment":{"url":"https://api.github.com/repos/aspnet/AspNetKatana/issues/comments/369657683","html_url":"https://github.com/aspnet/AspNetKatana/issues/177#issuecomment-369657683","issue_url":"https://api.github.com/repos/aspnet/AspNetKatana/issues/177","id":369657683,"user":{"login":"Tratcher","id":1821173,"avatar_url":"https://avatars3.githubusercontent.com/u/1821173?v=4","gravatar_id":"","url":"https://api.github.com/users/Tratcher","html_url":"https://github.com/Tratcher","followers_url":"https://api.github.com/users/Tratcher/followers","following_url":"https://api.github.com/users/Tratcher/following{/other_user}","gists_url":"https://api.github.com/users/Tratcher/gists{/gist_id}","starred_url":"https://api.github.com/users/Tratcher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tratcher/subscriptions","organizations_url":"https://api.github.com/users/Tratcher/orgs","repos_url":"https://api.github.com/users/Tratcher/repos","events_url":"https://api.github.com/users/Tratcher/events{/privacy}","received_events_url":"https://api.github.com/users/Tratcher/received_events","type":"User","site_admin":false},"created_at":"2018-03-01T16:56:56Z","updated_at":"2018-03-01T16:56:56Z","author_association":"MEMBER","body":"There's no queuing model like this on the server. Are you sure the queuing isn't happening on the client? E.g. If all of the requests are queued on the same connection then they can't be executed concurrently. What client are you using?"}}
{"actor":{"display_login":"Tratcher"}}