GitHub PullRequestReviewCommentEvent at 2014-11-24 20:15:07
Repository: riak_core
Actor: andrewjstone
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/basho/riak_core/pulls/comments/20818466","id":20818466,"diff_hunk":"@@ -0,0 +1,556 @@\n+%% -------------------------------------------------------------------\n+%%\n+%% Copyright (c) 2014 Basho Technologies, Inc.  All Rights Reserved.\n+%%\n+%% This file is provided to you under the Apache License,\n+%% Version 2.0 (the \"License\"); you may not use this file\n+%% except in compliance with the License.  You may obtain\n+%% a copy of the License at\n+%%\n+%%   http://www.apache.org/licenses/LICENSE-2.0\n+%%\n+%% Unless required by applicable law or agreed to in writing,\n+%% software distributed under the License is distributed on an\n+%% \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n+%% KIND, either express or implied.  See the License for the\n+%% specific language governing permissions and limitations\n+%% under the License.\n+%%\n+\n+%%% TODO\n+%% Transfer lifecycle testing (part of PR#630)\n+%% More sophisticated handoff enable/disable\n+%%     (branch feature/atb/handoff-enable-disable)\n+%% Resize transfers\n+\n+-module(handoff_manager_eqc).\n+\n+-include_lib(\"eqc/include/eqc.hrl\").\n+-include_lib(\"eqc/include/eqc_statem.hrl\").\n+\n+-compile(export_all).\n+\n+-define(QC_OUT(P),\n+        eqc:on_output(fun(Str, Args) -> io:format(user, Str, Args) end, P)).\n+\n+%% How many times we should sleep before giving up on handoff\n+%% processes that we expected to terminate\n+-define(MAX_EXIT_WAITS, 5).\n+\n+%% How many milliseconds we should sleep waiting on processes to die\n+-define(EXIT_WAIT, 50).\n+\n+-record(state,{handoffs=[],max_concurrency=2,inbound_count=0,\n+               outbound_disabled=false, inbound_disabled=false}).\n+","path":"test/handoff_manager_eqc.erl","position":45,"original_position":45,"commit_id":"73bb06f85b5e2b5d089e21c0c337b293f87efe49","original_commit_id":"73bb06f85b5e2b5d089e21c0c337b293f87efe49","user":{"login":"andrewjstone","id":466937,"avatar_url":"https://avatars.githubusercontent.com/u/466937?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewjstone","html_url":"https://github.com/andrewjstone","followers_url":"https://api.github.com/users/andrewjstone/followers","following_url":"https://api.github.com/users/andrewjstone/following{/other_user}","gists_url":"https://api.github.com/users/andrewjstone/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewjstone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewjstone/subscriptions","organizations_url":"https://api.github.com/users/andrewjstone/orgs","repos_url":"https://api.github.com/users/andrewjstone/repos","events_url":"https://api.github.com/users/andrewjstone/events{/privacy}","received_events_url":"https://api.github.com/users/andrewjstone/received_events","type":"User","site_admin":false},"body":"There should be an eunit function wrapping the property so that it will run with `make test` and `rebar eunit skip_deps=true suites=handoff_manager_eqc` like this: https://github.com/basho/riak_core/blob/develop/test/hashtree_eqc.erl#L15\r\n\r\n","created_at":"2014-11-24T20:15:07Z","updated_at":"2014-11-24T20:15:07Z","html_url":"https://github.com/basho/riak_core/pull/647#discussion_r20818466","pull_request_url":"https://api.github.com/repos/basho/riak_core/pulls/647","_links":{"self":{"href":"https://api.github.com/repos/basho/riak_core/pulls/comments/20818466"},"html":{"href":"https://github.com/basho/riak_core/pull/647#discussion_r20818466"},"pull_request":{"href":"https://api.github.com/repos/basho/riak_core/pulls/647"}}},"pull_request":{"url":"https://api.github.com/repos/basho/riak_core/pulls/647","id":24249088,"html_url":"https://github.com/basho/riak_core/pull/647","diff_url":"https://github.com/basho/riak_core/pull/647.diff","patch_url":"https://github.com/basho/riak_core/pull/647.patch","issue_url":"https://api.github.com/repos/basho/riak_core/issues/647","number":647,"state":"open","locked":false,"title":"Handoff manager EQC testing","user":{"login":"macintux","id":2141278,"avatar_url":"https://avatars.githubusercontent.com/u/2141278?v=3","gravatar_id":"","url":"https://api.github.com/users/macintux","html_url":"https://github.com/macintux","followers_url":"https://api.github.com/users/macintux/followers","following_url":"https://api.github.com/users/macintux/following{/other_user}","gists_url":"https://api.github.com/users/macintux/gists{/gist_id}","starred_url":"https://api.github.com/users/macintux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/macintux/subscriptions","organizations_url":"https://api.github.com/users/macintux/orgs","repos_url":"https://api.github.com/users/macintux/repos","events_url":"https://api.github.com/users/macintux/events{/privacy}","received_events_url":"https://api.github.com/users/macintux/received_events","type":"User","site_admin":false},"body":"Starting with code written by @jrwest long ago, @aberghage and I have created a more comprehensive test suite using `eqc_statem` for `riak_core_handoff_manager`.\r\n\r\nTests include:\r\n\r\n* Add outbound and inbound transfers\r\n* Disable future transfers using `riak_core` environment variables\r\n* Control concurrency level using `set_concurrency`\r\n* Retrieve concurrency level using `get_concurrency`\r\n\r\nNear-term plans for extending this:\r\n\r\n* Test transfer lifecycle (errors at start or during transfer) as part of Alex's improvements to error status management #630 \r\n* Test the more sophisticated enabling/disabling transfers as part of Alex's branch `feature/atb/handoff-enable-disable`\r\n* Test resize transfers\r\n","created_at":"2014-11-11T20:55:05Z","updated_at":"2014-11-24T20:15:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eda869e91e58e67db395fdc1e9d0e97d4a017528","assignee":{"login":"andrewjstone","id":466937,"avatar_url":"https://avatars.githubusercontent.com/u/466937?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewjstone","html_url":"https://github.com/andrewjstone","followers_url":"https://api.github.com/users/andrewjstone/followers","following_url":"https://api.github.com/users/andrewjstone/following{/other_user}","gists_url":"https://api.github.com/users/andrewjstone/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewjstone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewjstone/subscriptions","organizations_url":"https://api.github.com/users/andrewjstone/orgs","repos_url":"https://api.github.com/users/andrewjstone/repos","events_url":"https://api.github.com/users/andrewjstone/events{/privacy}","received_events_url":"https://api.github.com/users/andrewjstone/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/basho/riak_core/pulls/647/commits","review_comments_url":"https://api.github.com/repos/basho/riak_core/pulls/647/comments","review_comment_url":"https://api.github.com/repos/basho/riak_core/pulls/comments/{number}","comments_url":"https://api.github.com/repos/basho/riak_core/issues/647/comments","statuses_url":"https://api.github.com/repos/basho/riak_core/statuses/73bb06f85b5e2b5d089e21c0c337b293f87efe49","head":{"label":"basho:feature/jrd/handoff-mgr-eqc","ref":"feature/jrd/handoff-mgr-eqc","sha":"73bb06f85b5e2b5d089e21c0c337b293f87efe49","user":{"login":"basho","id":176293,"avatar_url":"https://avatars.githubusercontent.com/u/176293?v=3","gravatar_id":"","url":"https://api.github.com/users/basho","html_url":"https://github.com/basho","followers_url":"https://api.github.com/users/basho/followers","following_url":"https://api.github.com/users/basho/following{/other_user}","gists_url":"https://api.github.com/users/basho/gists{/gist_id}","starred_url":"https://api.github.com/users/basho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basho/subscriptions","organizations_url":"https://api.github.com/users/basho/orgs","repos_url":"https://api.github.com/users/basho/repos","events_url":"https://api.github.com/users/basho/events{/privacy}","received_events_url":"https://api.github.com/users/basho/received_events","type":"Organization","site_admin":false},"repo":{"id":790938,"name":"riak_core","full_name":"basho/riak_core","owner":{"login":"basho","id":176293,"avatar_url":"https://avatars.githubusercontent.com/u/176293?v=3","gravatar_id":"","url":"https://api.github.com/users/basho","html_url":"https://github.com/basho","followers_url":"https://api.github.com/users/basho/followers","following_url":"https://api.github.com/users/basho/following{/other_user}","gists_url":"https://api.github.com/users/basho/gists{/gist_id}","starred_url":"https://api.github.com/users/basho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basho/subscriptions","organizations_url":"https://api.github.com/users/basho/orgs","repos_url":"https://api.github.com/users/basho/repos","events_url":"https://api.github.com/users/basho/events{/privacy}","received_events_url":"https://api.github.com/users/basho/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/basho/riak_core","description":"Distributed systems infrastructure used by Riak.","fork":false,"url":"https://api.github.com/repos/basho/riak_core","forks_url":"https://api.github.com/repos/basho/riak_core/forks","keys_url":"https://api.github.com/repos/basho/riak_core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/basho/riak_core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/basho/riak_core/teams","hooks_url":"https://api.github.com/repos/basho/riak_core/hooks","issue_events_url":"https://api.github.com/repos/basho/riak_core/issues/events{/number}","events_url":"https://api.github.com/repos/basho/riak_core/events","assignees_url":"https://api.github.com/repos/basho/riak_core/assignees{/user}","branches_url":"https://api.github.com/repos/basho/riak_core/branches{/branch}","tags_url":"https://api.github.com/repos/basho/riak_core/tags","blobs_url":"https://api.github.com/repos/basho/riak_core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/basho/riak_core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/basho/riak_core/git/refs{/sha}","trees_url":"https://api.github.com/repos/basho/riak_core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/basho/riak_core/statuses/{sha}","languages_url":"https://api.github.com/repos/basho/riak_core/languages","stargazers_url":"https://api.github.com/repos/basho/riak_core/stargazers","contributors_url":"https://api.github.com/repos/basho/riak_core/contributors","subscribers_url":"https://api.github.com/repos/basho/riak_core/subscribers","subscription_url":"https://api.github.com/repos/basho/riak_core/subscription","commits_url":"https://api.github.com/repos/basho/riak_core/commits{/sha}","git_commits_url":"https://api.github.com/repos/basho/riak_core/git/commits{/sha}","comments_url":"https://api.github.com/repos/basho/riak_core/comments{/number}","issue_comment_url":"https://api.github.com/repos/basho/riak_core/issues/comments/{number}","contents_url":"https://api.github.com/repos/basho/riak_core/contents/{+path}","compare_url":"https://api.github.com/repos/basho/riak_core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/basho/riak_core/merges","archive_url":"https://api.github.com/repos/basho/riak_core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/basho/riak_core/downloads","issues_url":"https://api.github.com/repos/basho/riak_core/issues{/number}","pulls_url":"https://api.github.com/repos/basho/riak_core/pulls{/number}","milestones_url":"https://api.github.com/repos/basho/riak_core/milestones{/number}","notifications_url":"https://api.github.com/repos/basho/riak_core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/basho/riak_core/labels{/name}","releases_url":"https://api.github.com/repos/basho/riak_core/releases{/id}","created_at":"2010-07-22T14:11:49Z","updated_at":"2014-11-24T15:13:42Z","pushed_at":"2014-11-24T16:54:44Z","git_url":"git://github.com/basho/riak_core.git","ssh_url":"git@github.com:basho/riak_core.git","clone_url":"https://github.com/basho/riak_core.git","svn_url":"https://github.com/basho/riak_core","homepage":"","size":23561,"stargazers_count":470,"watchers_count":470,"language":"Erlang","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":163,"mirror_url":null,"open_issues_count":67,"forks":163,"open_issues":67,"watchers":470,"default_branch":"develop"}},"base":{"label":"basho:2.0","ref":"2.0","sha":"237b1fa8b76fdce4fbcc2899296ba33d559a29a8","user":{"login":"basho","id":176293,"avatar_url":"https://avatars.githubusercontent.com/u/176293?v=3","gravatar_id":"","url":"https://api.github.com/users/basho","html_url":"https://github.com/basho","followers_url":"https://api.github.com/users/basho/followers","following_url":"https://api.github.com/users/basho/following{/other_user}","gists_url":"https://api.github.com/users/basho/gists{/gist_id}","starred_url":"https://api.github.com/users/basho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basho/subscriptions","organizations_url":"https://api.github.com/users/basho/orgs","repos_url":"https://api.github.com/users/basho/repos","events_url":"https://api.github.com/users/basho/events{/privacy}","received_events_url":"https://api.github.com/users/basho/received_events","type":"Organization","site_admin":false},"repo":{"id":790938,"name":"riak_core","full_name":"basho/riak_core","owner":{"login":"basho","id":176293,"avatar_url":"https://avatars.githubusercontent.com/u/176293?v=3","gravatar_id":"","url":"https://api.github.com/users/basho","html_url":"https://github.com/basho","followers_url":"https://api.github.com/users/basho/followers","following_url":"https://api.github.com/users/basho/following{/other_user}","gists_url":"https://api.github.com/users/basho/gists{/gist_id}","starred_url":"https://api.github.com/users/basho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basho/subscriptions","organizations_url":"https://api.github.com/users/basho/orgs","repos_url":"https://api.github.com/users/basho/repos","events_url":"https://api.github.com/users/basho/events{/privacy}","received_events_url":"https://api.github.com/users/basho/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/basho/riak_core","description":"Distributed systems infrastructure used by Riak.","fork":false,"url":"https://api.github.com/repos/basho/riak_core","forks_url":"https://api.github.com/repos/basho/riak_core/forks","keys_url":"https://api.github.com/repos/basho/riak_core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/basho/riak_core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/basho/riak_core/teams","hooks_url":"https://api.github.com/repos/basho/riak_core/hooks","issue_events_url":"https://api.github.com/repos/basho/riak_core/issues/events{/number}","events_url":"https://api.github.com/repos/basho/riak_core/events","assignees_url":"https://api.github.com/repos/basho/riak_core/assignees{/user}","branches_url":"https://api.github.com/repos/basho/riak_core/branches{/branch}","tags_url":"https://api.github.com/repos/basho/riak_core/tags","blobs_url":"https://api.github.com/repos/basho/riak_core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/basho/riak_core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/basho/riak_core/git/refs{/sha}","trees_url":"https://api.github.com/repos/basho/riak_core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/basho/riak_core/statuses/{sha}","languages_url":"https://api.github.com/repos/basho/riak_core/languages","stargazers_url":"https://api.github.com/repos/basho/riak_core/stargazers","contributors_url":"https://api.github.com/repos/basho/riak_core/contributors","subscribers_url":"https://api.github.com/repos/basho/riak_core/subscribers","subscription_url":"https://api.github.com/repos/basho/riak_core/subscription","commits_url":"https://api.github.com/repos/basho/riak_core/commits{/sha}","git_commits_url":"https://api.github.com/repos/basho/riak_core/git/commits{/sha}","comments_url":"https://api.github.com/repos/basho/riak_core/comments{/number}","issue_comment_url":"https://api.github.com/repos/basho/riak_core/issues/comments/{number}","contents_url":"https://api.github.com/repos/basho/riak_core/contents/{+path}","compare_url":"https://api.github.com/repos/basho/riak_core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/basho/riak_core/merges","archive_url":"https://api.github.com/repos/basho/riak_core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/basho/riak_core/downloads","issues_url":"https://api.github.com/repos/basho/riak_core/issues{/number}","pulls_url":"https://api.github.com/repos/basho/riak_core/pulls{/number}","milestones_url":"https://api.github.com/repos/basho/riak_core/milestones{/number}","notifications_url":"https://api.github.com/repos/basho/riak_core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/basho/riak_core/labels{/name}","releases_url":"https://api.github.com/repos/basho/riak_core/releases{/id}","created_at":"2010-07-22T14:11:49Z","updated_at":"2014-11-24T15:13:42Z","pushed_at":"2014-11-24T16:54:44Z","git_url":"git://github.com/basho/riak_core.git","ssh_url":"git@github.com:basho/riak_core.git","clone_url":"https://github.com/basho/riak_core.git","svn_url":"https://github.com/basho/riak_core","homepage":"","size":23561,"stargazers_count":470,"watchers_count":470,"language":"Erlang","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":163,"mirror_url":null,"open_issues_count":67,"forks":163,"open_issues":67,"watchers":470,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/basho/riak_core/pulls/647"},"html":{"href":"https://github.com/basho/riak_core/pull/647"},"issue":{"href":"https://api.github.com/repos/basho/riak_core/issues/647"},"comments":{"href":"https://api.github.com/repos/basho/riak_core/issues/647/comments"},"review_comments":{"href":"https://api.github.com/repos/basho/riak_core/pulls/647/comments"},"review_comment":{"href":"https://api.github.com/repos/basho/riak_core/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/basho/riak_core/pulls/647/commits"},"statuses":{"href":"https://api.github.com/repos/basho/riak_core/statuses/73bb06f85b5e2b5d089e21c0c337b293f87efe49"}}}}