{"action":"created","comment":{"url":"https://api.github.com/repos/phaller/reactive-async/pulls/comments/150952430","pull_request_review_id":76582047,"id":150952430,"diff_hunk":"@@ -134,7 +133,10 @@ class HandlerPool(parallelism: Int = 8, unhandledExceptionHandler: Throwable =>\n     val key = cells.head.key\n     val result = key.resolve(cells)\n \n-    for ((c, v) <- result) c.resolveWithValue(v)\n+    for ((c, v) <- result) {\n+      cells.foreach(c.removeNextCallbacks(_))\n+      c.resolveWithValue(v)\n+    }","path":"core/src/main/scala/cell/HandlerPool.scala","position":16,"original_position":16,"commit_id":"17060b4fc39b10c2ccf3b31c3dc75bb1507d3178","original_commit_id":"17060b4fc39b10c2ccf3b31c3dc75bb1507d3178","user":{"login":"phaller","id":289943,"avatar_url":"https://avatars0.githubusercontent.com/u/289943?v=4","gravatar_id":"","url":"https://api.github.com/users/phaller","html_url":"https://github.com/phaller","followers_url":"https://api.github.com/users/phaller/followers","following_url":"https://api.github.com/users/phaller/following{/other_user}","gists_url":"https://api.github.com/users/phaller/gists{/gist_id}","starred_url":"https://api.github.com/users/phaller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phaller/subscriptions","organizations_url":"https://api.github.com/users/phaller/orgs","repos_url":"https://api.github.com/users/phaller/repos","events_url":"https://api.github.com/users/phaller/events{/privacy}","received_events_url":"https://api.github.com/users/phaller/received_events","type":"User","site_admin":false},"body":"I think we should first remove all next callbacks and then, in a second iteration, resolve all cells in `result`. Otherwise, I think there could be a situation where `resolveWithValue` would still lead to the unwanted invocation of a next callback. Could you double-check this?","created_at":"2017-11-14T20:22:54Z","updated_at":"2017-11-14T20:32:25Z","html_url":"https://github.com/phaller/reactive-async/pull/47#discussion_r150952430","pull_request_url":"https://api.github.com/repos/phaller/reactive-async/pulls/47","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/phaller/reactive-async/pulls/comments/150952430"},"html":{"href":"https://github.com/phaller/reactive-async/pull/47#discussion_r150952430"},"pull_request":{"href":"https://api.github.com/repos/phaller/reactive-async/pulls/47"}}},"pull_request":{"url":"https://api.github.com/repos/phaller/reactive-async/pulls/47","id":152067118,"html_url":"https://github.com/phaller/reactive-async/pull/47","diff_url":"https://github.com/phaller/reactive-async/pull/47.diff","patch_url":"https://github.com/phaller/reactive-async/pull/47.patch","issue_url":"https://api.github.com/repos/phaller/reactive-async/issues/47","number":47,"state":"open","locked":false,"title":"Remove deps before resolving via a key","user":{"login":"JanKoelzer","id":3154819,"avatar_url":"https://avatars2.githubusercontent.com/u/3154819?v=4","gravatar_id":"","url":"https://api.github.com/users/JanKoelzer","html_url":"https://github.com/JanKoelzer","followers_url":"https://api.github.com/users/JanKoelzer/followers","following_url":"https://api.github.com/users/JanKoelzer/following{/other_user}","gists_url":"https://api.github.com/users/JanKoelzer/gists{/gist_id}","starred_url":"https://api.github.com/users/JanKoelzer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JanKoelzer/subscriptions","organizations_url":"https://api.github.com/users/JanKoelzer/orgs","repos_url":"https://api.github.com/users/JanKoelzer/repos","events_url":"https://api.github.com/users/JanKoelzer/events{/privacy}","received_events_url":"https://api.github.com/users/JanKoelzer/received_events","type":"User","site_admin":false},"body":"When resolving cycles, whenNext callbacks should not be triggered among the cells that form the cycle. This now handled by removing all deps between the cells involved.\r\n\r\nSome basic tests have been added.","created_at":"2017-11-11T17:48:14Z","updated_at":"2017-11-14T20:32:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"000240a4c408ffbca164ed257ce25e0e615cf036","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/phaller/reactive-async/pulls/47/commits","review_comments_url":"https://api.github.com/repos/phaller/reactive-async/pulls/47/comments","review_comment_url":"https://api.github.com/repos/phaller/reactive-async/pulls/comments{/number}","comments_url":"https://api.github.com/repos/phaller/reactive-async/issues/47/comments","statuses_url":"https://api.github.com/repos/phaller/reactive-async/statuses/17060b4fc39b10c2ccf3b31c3dc75bb1507d3178","head":{"label":"JanKoelzer:pr-removeCycleDeps","ref":"pr-removeCycleDeps","sha":"17060b4fc39b10c2ccf3b31c3dc75bb1507d3178","user":{"login":"JanKoelzer","id":3154819,"avatar_url":"https://avatars2.githubusercontent.com/u/3154819?v=4","gravatar_id":"","url":"https://api.github.com/users/JanKoelzer","html_url":"https://github.com/JanKoelzer","followers_url":"https://api.github.com/users/JanKoelzer/followers","following_url":"https://api.github.com/users/JanKoelzer/following{/other_user}","gists_url":"https://api.github.com/users/JanKoelzer/gists{/gist_id}","starred_url":"https://api.github.com/users/JanKoelzer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JanKoelzer/subscriptions","organizations_url":"https://api.github.com/users/JanKoelzer/orgs","repos_url":"https://api.github.com/users/JanKoelzer/repos","events_url":"https://api.github.com/users/JanKoelzer/events{/privacy}","received_events_url":"https://api.github.com/users/JanKoelzer/received_events","type":"User","site_admin":false},"repo":{"id":103530796,"name":"reactive-async","full_name":"JanKoelzer/reactive-async","owner":{"login":"JanKoelzer","id":3154819,"avatar_url":"https://avatars2.githubusercontent.com/u/3154819?v=4","gravatar_id":"","url":"https://api.github.com/users/JanKoelzer","html_url":"https://github.com/JanKoelzer","followers_url":"https://api.github.com/users/JanKoelzer/followers","following_url":"https://api.github.com/users/JanKoelzer/following{/other_user}","gists_url":"https://api.github.com/users/JanKoelzer/gists{/gist_id}","starred_url":"https://api.github.com/users/JanKoelzer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JanKoelzer/subscriptions","organizations_url":"https://api.github.com/users/JanKoelzer/orgs","repos_url":"https://api.github.com/users/JanKoelzer/repos","events_url":"https://api.github.com/users/JanKoelzer/events{/privacy}","received_events_url":"https://api.github.com/users/JanKoelzer/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/JanKoelzer/reactive-async","description":"Expressive deterministic concurrency in Scala","fork":true,"url":"https://api.github.com/repos/JanKoelzer/reactive-async","forks_url":"https://api.github.com/repos/JanKoelzer/reactive-async/forks","keys_url":"https://api.github.com/repos/JanKoelzer/reactive-async/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JanKoelzer/reactive-async/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JanKoelzer/reactive-async/teams","hooks_url":"https://api.github.com/repos/JanKoelzer/reactive-async/hooks","issue_events_url":"https://api.github.com/repos/JanKoelzer/reactive-async/issues/events{/number}","events_url":"https://api.github.com/repos/JanKoelzer/reactive-async/events","assignees_url":"https://api.github.com/repos/JanKoelzer/reactive-async/assignees{/user}","branches_url":"https://api.github.com/repos/JanKoelzer/reactive-async/branches{/branch}","tags_url":"https://api.github.com/repos/JanKoelzer/reactive-async/tags","blobs_url":"https://api.github.com/repos/JanKoelzer/reactive-async/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JanKoelzer/reactive-async/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JanKoelzer/reactive-async/git/refs{/sha}","trees_url":"https://api.github.com/repos/JanKoelzer/reactive-async/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JanKoelzer/reactive-async/statuses/{sha}","languages_url":"https://api.github.com/repos/JanKoelzer/reactive-async/languages","stargazers_url":"https://api.github.com/repos/JanKoelzer/reactive-async/stargazers","contributors_url":"https://api.github.com/repos/JanKoelzer/reactive-async/contributors","subscribers_url":"https://api.github.com/repos/JanKoelzer/reactive-async/subscribers","subscription_url":"https://api.github.com/repos/JanKoelzer/reactive-async/subscription","commits_url":"https://api.github.com/repos/JanKoelzer/reactive-async/commits{/sha}","git_commits_url":"https://api.github.com/repos/JanKoelzer/reactive-async/git/commits{/sha}","comments_url":"https://api.github.com/repos/JanKoelzer/reactive-async/comments{/number}","issue_comment_url":"https://api.github.com/repos/JanKoelzer/reactive-async/issues/comments{/number}","contents_url":"https://api.github.com/repos/JanKoelzer/reactive-async/contents/{+path}","compare_url":"https://api.github.com/repos/JanKoelzer/reactive-async/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JanKoelzer/reactive-async/merges","archive_url":"https://api.github.com/repos/JanKoelzer/reactive-async/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JanKoelzer/reactive-async/downloads","issues_url":"https://api.github.com/repos/JanKoelzer/reactive-async/issues{/number}","pulls_url":"https://api.github.com/repos/JanKoelzer/reactive-async/pulls{/number}","milestones_url":"https://api.github.com/repos/JanKoelzer/reactive-async/milestones{/number}","notifications_url":"https://api.github.com/repos/JanKoelzer/reactive-async/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JanKoelzer/reactive-async/labels{/name}","releases_url":"https://api.github.com/repos/JanKoelzer/reactive-async/releases{/id}","deployments_url":"https://api.github.com/repos/JanKoelzer/reactive-async/deployments","created_at":"2017-09-14T12:42:38Z","updated_at":"2017-09-14T12:42:40Z","pushed_at":"2017-11-12T22:55:26Z","git_url":"git://github.com/JanKoelzer/reactive-async.git","ssh_url":"git@github.com:JanKoelzer/reactive-async.git","clone_url":"https://github.com/JanKoelzer/reactive-async.git","svn_url":"https://github.com/JanKoelzer/reactive-async","homepage":"","size":2394,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"phaller:master","ref":"master","sha":"67cd51b21a6d0a3cbff181d4c8a6ffb91fa30d71","user":{"login":"phaller","id":289943,"avatar_url":"https://avatars0.githubusercontent.com/u/289943?v=4","gravatar_id":"","url":"https://api.github.com/users/phaller","html_url":"https://github.com/phaller","followers_url":"https://api.github.com/users/phaller/followers","following_url":"https://api.github.com/users/phaller/following{/other_user}","gists_url":"https://api.github.com/users/phaller/gists{/gist_id}","starred_url":"https://api.github.com/users/phaller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phaller/subscriptions","organizations_url":"https://api.github.com/users/phaller/orgs","repos_url":"https://api.github.com/users/phaller/repos","events_url":"https://api.github.com/users/phaller/events{/privacy}","received_events_url":"https://api.github.com/users/phaller/received_events","type":"User","site_admin":false},"repo":{"id":61241498,"name":"reactive-async","full_name":"phaller/reactive-async","owner":{"login":"phaller","id":289943,"avatar_url":"https://avatars0.githubusercontent.com/u/289943?v=4","gravatar_id":"","url":"https://api.github.com/users/phaller","html_url":"https://github.com/phaller","followers_url":"https://api.github.com/users/phaller/followers","following_url":"https://api.github.com/users/phaller/following{/other_user}","gists_url":"https://api.github.com/users/phaller/gists{/gist_id}","starred_url":"https://api.github.com/users/phaller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phaller/subscriptions","organizations_url":"https://api.github.com/users/phaller/orgs","repos_url":"https://api.github.com/users/phaller/repos","events_url":"https://api.github.com/users/phaller/events{/privacy}","received_events_url":"https://api.github.com/users/phaller/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/phaller/reactive-async","description":"Expressive deterministic concurrency in Scala","fork":false,"url":"https://api.github.com/repos/phaller/reactive-async","forks_url":"https://api.github.com/repos/phaller/reactive-async/forks","keys_url":"https://api.github.com/repos/phaller/reactive-async/keys{/key_id}","collaborators_url":"https://api.github.com/repos/phaller/reactive-async/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/phaller/reactive-async/teams","hooks_url":"https://api.github.com/repos/phaller/reactive-async/hooks","issue_events_url":"https://api.github.com/repos/phaller/reactive-async/issues/events{/number}","events_url":"https://api.github.com/repos/phaller/reactive-async/events","assignees_url":"https://api.github.com/repos/phaller/reactive-async/assignees{/user}","branches_url":"https://api.github.com/repos/phaller/reactive-async/branches{/branch}","tags_url":"https://api.github.com/repos/phaller/reactive-async/tags","blobs_url":"https://api.github.com/repos/phaller/reactive-async/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/phaller/reactive-async/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/phaller/reactive-async/git/refs{/sha}","trees_url":"https://api.github.com/repos/phaller/reactive-async/git/trees{/sha}","statuses_url":"https://api.github.com/repos/phaller/reactive-async/statuses/{sha}","languages_url":"https://api.github.com/repos/phaller/reactive-async/languages","stargazers_url":"https://api.github.com/repos/phaller/reactive-async/stargazers","contributors_url":"https://api.github.com/repos/phaller/reactive-async/contributors","subscribers_url":"https://api.github.com/repos/phaller/reactive-async/subscribers","subscription_url":"https://api.github.com/repos/phaller/reactive-async/subscription","commits_url":"https://api.github.com/repos/phaller/reactive-async/commits{/sha}","git_commits_url":"https://api.github.com/repos/phaller/reactive-async/git/commits{/sha}","comments_url":"https://api.github.com/repos/phaller/reactive-async/comments{/number}","issue_comment_url":"https://api.github.com/repos/phaller/reactive-async/issues/comments{/number}","contents_url":"https://api.github.com/repos/phaller/reactive-async/contents/{+path}","compare_url":"https://api.github.com/repos/phaller/reactive-async/compare/{base}...{head}","merges_url":"https://api.github.com/repos/phaller/reactive-async/merges","archive_url":"https://api.github.com/repos/phaller/reactive-async/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/phaller/reactive-async/downloads","issues_url":"https://api.github.com/repos/phaller/reactive-async/issues{/number}","pulls_url":"https://api.github.com/repos/phaller/reactive-async/pulls{/number}","milestones_url":"https://api.github.com/repos/phaller/reactive-async/milestones{/number}","notifications_url":"https://api.github.com/repos/phaller/reactive-async/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/phaller/reactive-async/labels{/name}","releases_url":"https://api.github.com/repos/phaller/reactive-async/releases{/id}","deployments_url":"https://api.github.com/repos/phaller/reactive-async/deployments","created_at":"2016-06-15T21:16:35Z","updated_at":"2017-10-18T07:11:03Z","pushed_at":"2017-11-14T20:17:20Z","git_url":"git://github.com/phaller/reactive-async.git","ssh_url":"git@github.com:phaller/reactive-async.git","clone_url":"https://github.com/phaller/reactive-async.git","svn_url":"https://github.com/phaller/reactive-async","homepage":"","size":2373,"stargazers_count":9,"watchers_count":9,"language":"Scala","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"archived":false,"open_issues_count":11,"forks":6,"open_issues":11,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/phaller/reactive-async/pulls/47"},"html":{"href":"https://github.com/phaller/reactive-async/pull/47"},"issue":{"href":"https://api.github.com/repos/phaller/reactive-async/issues/47"},"comments":{"href":"https://api.github.com/repos/phaller/reactive-async/issues/47/comments"},"review_comments":{"href":"https://api.github.com/repos/phaller/reactive-async/pulls/47/comments"},"review_comment":{"href":"https://api.github.com/repos/phaller/reactive-async/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/phaller/reactive-async/pulls/47/commits"},"statuses":{"href":"https://api.github.com/repos/phaller/reactive-async/statuses/17060b4fc39b10c2ccf3b31c3dc75bb1507d3178"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"phaller"}}