{"action":"created","comment":{"url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/comments/138179632","pull_request_review_id":61942672,"id":138179632,"diff_hunk":"@@ -137,6 +111,39 @@ public void Start()\n             isRunning = false;\n         }\n \n+        async Task InitializeAndStartReceiver(int i)\n+        {\n+            try\n+            {\n+                var internalReceiver = await clientEntities.Get(fullPath, entity.Namespace.Alias)\n+                    .ConfigureAwait(false);\n+\n+                if (internalReceiver == null)\n+                {\n+                    throw new Exception($\"MessageReceiverNotifier did not get a MessageReceiver instance for entity path {fullPath}, this is probably due to a misconfiguration of the topology\");\n+                }\n+\n+                var options = new OnMessageOptions\n+                {\n+                    AutoComplete = false,\n+                    AutoRenewTimeout = settings.AutoRenewTimeout,\n+                    MaxConcurrentCalls = maxConcurrentCalls\n+                };\n+                options.ExceptionReceived += OptionsOnExceptionReceived;\n+                internalReceivers[i] = internalReceiver;\n+                onMessageOptions[i] = options;\n+\n+                internalReceiver.OnMessage(m => ReceiveMessage(internalReceiver, m, i, pipelineInvocationTasks), options);\n+\n+                isRunning = true;\n+            }\n+            catch (Exception ex)\n+            {\n+                await errorCallback(ex)","path":"src/Transport/Receiving/MessageReceiverNotifier.cs","position":null,"original_position":80,"commit_id":"9538afe50c8e7686d24be5807bd33953e25bde31","original_commit_id":"5a4b606dec8565aa08012f73fe1f9dbb7e5d546c","user":{"login":"danielmarbach","id":174258,"avatar_url":"https://avatars1.githubusercontent.com/u/174258?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmarbach","html_url":"https://github.com/danielmarbach","followers_url":"https://api.github.com/users/danielmarbach/followers","following_url":"https://api.github.com/users/danielmarbach/following{/other_user}","gists_url":"https://api.github.com/users/danielmarbach/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmarbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmarbach/subscriptions","organizations_url":"https://api.github.com/users/danielmarbach/orgs","repos_url":"https://api.github.com/users/danielmarbach/repos","events_url":"https://api.github.com/users/danielmarbach/events{/privacy}","received_events_url":"https://api.github.com/users/danielmarbach/received_events","type":"User","site_admin":false},"body":"Yeah the aggregation we introduced in the v7 timeframe. I still not sure how valuable it is. But in order to preserve this I've pushed up another commit which aggregates all the exceptions and then calls the critical error API with the aggregated exceptions. ","created_at":"2017-09-11T20:19:10Z","updated_at":"2017-09-11T20:19:10Z","html_url":"https://github.com/Particular/NServiceBus.AzureServiceBus/pull/613#discussion_r138179632","pull_request_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/613","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/comments/138179632"},"html":{"href":"https://github.com/Particular/NServiceBus.AzureServiceBus/pull/613#discussion_r138179632"},"pull_request":{"href":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/613"}},"in_reply_to_id":138126508},"pull_request":{"url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/613","id":140298329,"html_url":"https://github.com/Particular/NServiceBus.AzureServiceBus/pull/613","diff_url":"https://github.com/Particular/NServiceBus.AzureServiceBus/pull/613.diff","patch_url":"https://github.com/Particular/NServiceBus.AzureServiceBus/pull/613.patch","issue_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues/613","number":613,"state":"open","locked":false,"title":"MessageReceiverNotifier non-blocking start","user":{"login":"danielmarbach","id":174258,"avatar_url":"https://avatars1.githubusercontent.com/u/174258?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmarbach","html_url":"https://github.com/danielmarbach","followers_url":"https://api.github.com/users/danielmarbach/followers","following_url":"https://api.github.com/users/danielmarbach/following{/other_user}","gists_url":"https://api.github.com/users/danielmarbach/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmarbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmarbach/subscriptions","organizations_url":"https://api.github.com/users/danielmarbach/orgs","repos_url":"https://api.github.com/users/danielmarbach/repos","events_url":"https://api.github.com/users/danielmarbach/events{/privacy}","received_events_url":"https://api.github.com/users/danielmarbach/received_events","type":"User","site_admin":false},"body":"- MessageReceiverNotifier no longer used a blocking start\r\n- Concurrent acquire of entities\r\n- Asynchronous Message[Sender|Receiver]LifeCycleManager\r\n\r\n### Manual test results\r\n\r\n#### (NumberOfEntities): Endpoint 1 / Endpoint 2 (ms)\r\n\r\nBefore :\r\n- (Default 5): 3542 / 3549\r\n- (10): 2935 / 2974\r\n- (20): 3079 / 3195\r\n- (50): 3516 / 3212\r\n\r\nAfter:\r\n- (Default 5): 2678 / 2667\r\n- (10): 2501 / 2384\r\n- (20): 2512 / 2355\r\n- (50): 2560/ 2558\r\n\r\n### Micro Benchmarks\r\n\r\n``` ini\r\n\r\nBenchmarkDotNet=v0.10.1, OS=Microsoft Windows NT 6.2.9200.0\r\nProcessor=Intel(R) Core(TM) i7-4980HQ CPU 2.80GHz, ProcessorCount=8\r\nFrequency=2728072 Hz, Resolution=366.5592 ns, Timer=TSC\r\n  [Host]     : Clr 4.0.30319.42000, 32bit LegacyJIT-v4.7.2102.0\r\n  DefaultJob : Clr 4.0.30319.42000, 32bit LegacyJIT-v4.7.2102.0\r\n\r\n\r\n```\r\nMethod | IsClosed |        Mean |    StdErr |     StdDev |         Min |          Q1 |      Median |          Q3 |         Max |     Op/s |  Gen 0 | Allocated |\r\n------------------ |--------- |------------ |---------- |----------- |------------ |------------ |------------ |------------ |------------ |--------- |------- |---------- |\r\n **Before_Sequential** |    **False** | **143.8103 us** | **1.3201 us** |  **4.7596 us** | **138.5223 us** | **139.9606 us** | **143.6854 us** | **146.8417 us** | **155.4937 us** |   **6953.6** | **2.0213** |  **16.89 kB** |\r\n  After_Sequential |    False | 209.3963 us | 2.0883 us | 18.9107 us | 178.3369 us | 191.4350 us | 210.5530 us | 222.2242 us | 243.9872 us |  4775.63 | 0.8138 |     22 kB |\r\n Before_Concurrent |    False |  75.7541 us | 0.8089 us |  7.0052 us |  65.8006 us |  70.4486 us |  73.9723 us |  79.8793 us | 100.5178 us | 13200.61 | 1.0742 |  18.21 kB |\r\n  After_Concurrent |    False |  74.2022 us | 0.7254 us |  2.9909 us |  71.1783 us |  71.3837 us |  72.3651 us |  77.5372 us |  77.8978 us | 13476.69 | 2.0888 |  22.24 kB |\r\n **Before_Sequential** |     **True** | **222.8536 us** | **0.4446 us** |  **1.6032 us** | **218.9874 us** | **222.2791 us** | **223.0299 us** | **223.8304 us** | **225.3614 us** |  **4487.25** |      **-** |  **18.19 kB** |\r\n  After_Sequential |     True | 251.6912 us | 2.1933 us |  8.4946 us | 244.5247 us | 245.1053 us | 249.2620 us | 257.5447 us | 270.0482 us |  3973.12 |      - |  23.32 kB |\r\n Before_Concurrent |     True |  86.3425 us | 0.8550 us |  5.3392 us |  79.8688 us |  81.1973 us |  86.8259 us |  89.5799 us |  99.1518 us | 11581.79 | 1.3184 |  19.52 kB |\r\n  After_Concurrent |     True |  86.7504 us | 0.3468 us |  1.2505 us |  83.8152 us |  85.9906 us |  87.0104 us |  87.8217 us |  88.2744 us | 11527.32 | 3.2290 |  23.55 kB |\r\n","created_at":"2017-09-11T10:19:33Z","updated_at":"2017-09-11T20:19:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"687b52a0e43406f088f07f18d54b8cdc0c28bbf1","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/613/commits","review_comments_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/613/comments","review_comment_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues/613/comments","statuses_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/statuses/9538afe50c8e7686d24be5807bd33953e25bde31","head":{"label":"Particular:async-startup","ref":"async-startup","sha":"9538afe50c8e7686d24be5807bd33953e25bde31","user":{"login":"Particular","id":5038441,"avatar_url":"https://avatars0.githubusercontent.com/u/5038441?v=4","gravatar_id":"","url":"https://api.github.com/users/Particular","html_url":"https://github.com/Particular","followers_url":"https://api.github.com/users/Particular/followers","following_url":"https://api.github.com/users/Particular/following{/other_user}","gists_url":"https://api.github.com/users/Particular/gists{/gist_id}","starred_url":"https://api.github.com/users/Particular/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Particular/subscriptions","organizations_url":"https://api.github.com/users/Particular/orgs","repos_url":"https://api.github.com/users/Particular/repos","events_url":"https://api.github.com/users/Particular/events{/privacy}","received_events_url":"https://api.github.com/users/Particular/received_events","type":"Organization","site_admin":false},"repo":{"id":29854622,"name":"NServiceBus.AzureServiceBus","full_name":"Particular/NServiceBus.AzureServiceBus","owner":{"login":"Particular","id":5038441,"avatar_url":"https://avatars0.githubusercontent.com/u/5038441?v=4","gravatar_id":"","url":"https://api.github.com/users/Particular","html_url":"https://github.com/Particular","followers_url":"https://api.github.com/users/Particular/followers","following_url":"https://api.github.com/users/Particular/following{/other_user}","gists_url":"https://api.github.com/users/Particular/gists{/gist_id}","starred_url":"https://api.github.com/users/Particular/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Particular/subscriptions","organizations_url":"https://api.github.com/users/Particular/orgs","repos_url":"https://api.github.com/users/Particular/repos","events_url":"https://api.github.com/users/Particular/events{/privacy}","received_events_url":"https://api.github.com/users/Particular/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Particular/NServiceBus.AzureServiceBus","description":"The Azure ServiceBus Transport","fork":false,"url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus","forks_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/forks","keys_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/teams","hooks_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/hooks","issue_events_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues/events{/number}","events_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/events","assignees_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/assignees{/user}","branches_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/branches{/branch}","tags_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/tags","blobs_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/refs{/sha}","trees_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/statuses/{sha}","languages_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/languages","stargazers_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/stargazers","contributors_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/contributors","subscribers_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/subscribers","subscription_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/subscription","commits_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/commits{/sha}","git_commits_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/commits{/sha}","comments_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/comments{/number}","issue_comment_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues/comments{/number}","contents_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/contents/{+path}","compare_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/merges","archive_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/downloads","issues_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues{/number}","pulls_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls{/number}","milestones_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/milestones{/number}","notifications_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/labels{/name}","releases_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/releases{/id}","deployments_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/deployments","created_at":"2015-01-26T09:43:55Z","updated_at":"2016-11-24T17:55:04Z","pushed_at":"2017-09-11T20:15:52Z","git_url":"git://github.com/Particular/NServiceBus.AzureServiceBus.git","ssh_url":"git@github.com:Particular/NServiceBus.AzureServiceBus.git","clone_url":"https://github.com/Particular/NServiceBus.AzureServiceBus.git","svn_url":"https://github.com/Particular/NServiceBus.AzureServiceBus","homepage":"https://docs.particular.net/nservicebus/azure-service-bus/","size":3672,"stargazers_count":3,"watchers_count":3,"language":"C#","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":14,"mirror_url":null,"open_issues_count":35,"forks":14,"open_issues":35,"watchers":3,"default_branch":"develop"}},"base":{"label":"Particular:release-8.0","ref":"release-8.0","sha":"4c9b2e284f28291f5250a85aed53c5dbb0b6eaa3","user":{"login":"Particular","id":5038441,"avatar_url":"https://avatars0.githubusercontent.com/u/5038441?v=4","gravatar_id":"","url":"https://api.github.com/users/Particular","html_url":"https://github.com/Particular","followers_url":"https://api.github.com/users/Particular/followers","following_url":"https://api.github.com/users/Particular/following{/other_user}","gists_url":"https://api.github.com/users/Particular/gists{/gist_id}","starred_url":"https://api.github.com/users/Particular/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Particular/subscriptions","organizations_url":"https://api.github.com/users/Particular/orgs","repos_url":"https://api.github.com/users/Particular/repos","events_url":"https://api.github.com/users/Particular/events{/privacy}","received_events_url":"https://api.github.com/users/Particular/received_events","type":"Organization","site_admin":false},"repo":{"id":29854622,"name":"NServiceBus.AzureServiceBus","full_name":"Particular/NServiceBus.AzureServiceBus","owner":{"login":"Particular","id":5038441,"avatar_url":"https://avatars0.githubusercontent.com/u/5038441?v=4","gravatar_id":"","url":"https://api.github.com/users/Particular","html_url":"https://github.com/Particular","followers_url":"https://api.github.com/users/Particular/followers","following_url":"https://api.github.com/users/Particular/following{/other_user}","gists_url":"https://api.github.com/users/Particular/gists{/gist_id}","starred_url":"https://api.github.com/users/Particular/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Particular/subscriptions","organizations_url":"https://api.github.com/users/Particular/orgs","repos_url":"https://api.github.com/users/Particular/repos","events_url":"https://api.github.com/users/Particular/events{/privacy}","received_events_url":"https://api.github.com/users/Particular/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Particular/NServiceBus.AzureServiceBus","description":"The Azure ServiceBus Transport","fork":false,"url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus","forks_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/forks","keys_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/teams","hooks_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/hooks","issue_events_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues/events{/number}","events_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/events","assignees_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/assignees{/user}","branches_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/branches{/branch}","tags_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/tags","blobs_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/refs{/sha}","trees_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/statuses/{sha}","languages_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/languages","stargazers_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/stargazers","contributors_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/contributors","subscribers_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/subscribers","subscription_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/subscription","commits_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/commits{/sha}","git_commits_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/git/commits{/sha}","comments_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/comments{/number}","issue_comment_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues/comments{/number}","contents_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/contents/{+path}","compare_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/merges","archive_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/downloads","issues_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues{/number}","pulls_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls{/number}","milestones_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/milestones{/number}","notifications_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/labels{/name}","releases_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/releases{/id}","deployments_url":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/deployments","created_at":"2015-01-26T09:43:55Z","updated_at":"2016-11-24T17:55:04Z","pushed_at":"2017-09-11T20:15:52Z","git_url":"git://github.com/Particular/NServiceBus.AzureServiceBus.git","ssh_url":"git@github.com:Particular/NServiceBus.AzureServiceBus.git","clone_url":"https://github.com/Particular/NServiceBus.AzureServiceBus.git","svn_url":"https://github.com/Particular/NServiceBus.AzureServiceBus","homepage":"https://docs.particular.net/nservicebus/azure-service-bus/","size":3672,"stargazers_count":3,"watchers_count":3,"language":"C#","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":14,"mirror_url":null,"open_issues_count":35,"forks":14,"open_issues":35,"watchers":3,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/613"},"html":{"href":"https://github.com/Particular/NServiceBus.AzureServiceBus/pull/613"},"issue":{"href":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues/613"},"comments":{"href":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/issues/613/comments"},"review_comments":{"href":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/613/comments"},"review_comment":{"href":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/pulls/613/commits"},"statuses":{"href":"https://api.github.com/repos/Particular/NServiceBus.AzureServiceBus/statuses/9538afe50c8e7686d24be5807bd33953e25bde31"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"danielmarbach"}}