GitHub PullRequestEvent at 2014-11-05 21:35:26
Repository: blueflood
Actor: gdusbabek
Payload: {"action":"closed","number":383,"pull_request":{"url":"https://api.github.com/repos/rackerlabs/blueflood/pulls/383","id":23267079,"html_url":"https://github.com/rackerlabs/blueflood/pull/383","diff_url":"https://github.com/rackerlabs/blueflood/pull/383.diff","patch_url":"https://github.com/rackerlabs/blueflood/pull/383.patch","issue_url":"https://api.github.com/repos/rackerlabs/blueflood/issues/383","number":383,"state":"closed","locked":false,"title":"Making Zookeeper integration code more readable.","user":{"login":"jeeyoungk","id":232784,"avatar_url":"https://avatars.githubusercontent.com/u/232784?v=2","gravatar_id":"","url":"https://api.github.com/users/jeeyoungk","html_url":"https://github.com/jeeyoungk","followers_url":"https://api.github.com/users/jeeyoungk/followers","following_url":"https://api.github.com/users/jeeyoungk/following{/other_user}","gists_url":"https://api.github.com/users/jeeyoungk/gists{/gist_id}","starred_url":"https://api.github.com/users/jeeyoungk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeeyoungk/subscriptions","organizations_url":"https://api.github.com/users/jeeyoungk/orgs","repos_url":"https://api.github.com/users/jeeyoungk/repos","events_url":"https://api.github.com/users/jeeyoungk/events{/privacy}","received_events_url":"https://api.github.com/users/jeeyoungk/received_events","type":"User","site_admin":false},"body":"I've been re-visiting the zookeeper code. Initially I was looking into it because it wasn't working (it turned out java version compatibility issue), but I got better understanding of the code and wanted to make it more organized.\r\n\r\n* Making more variables into `final` so that the state modification is more controlled.\r\n* Adding comments in various places, especially regarding the lock states.\r\n* Adding zookeeper bootstrapping to the test suite, and moving the test out of the integration test (in fact, this test was blacklisted and was never executed).\r\n* Reducing the usage of the mockito whitebox.\r\n* Reducing the amount of shared states, by pulling the scavanger state out of the member variable and storing it within the function scope.\r\n* Removing the usage of `java.util.Timer`.\r\n* Separating out the zookeeper connection wait outside the constructor - that makes the tests more reliable, since having the lock managers in disconnected state is most likely bad.","created_at":"2014-10-23T23:19:27Z","updated_at":"2014-11-05T21:35:26Z","closed_at":"2014-11-05T21:35:26Z","merged_at":"2014-11-05T21:35:26Z","merge_commit_sha":"2f25587697b37a99e654a6ea555599f4958547a1","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/rackerlabs/blueflood/pulls/383/commits","review_comments_url":"https://api.github.com/repos/rackerlabs/blueflood/pulls/383/comments","review_comment_url":"https://api.github.com/repos/rackerlabs/blueflood/pulls/comments/{number}","comments_url":"https://api.github.com/repos/rackerlabs/blueflood/issues/383/comments","statuses_url":"https://api.github.com/repos/rackerlabs/blueflood/statuses/08c8cf5dc0627972f6884a23018877a64a06a56d","head":{"label":"jeeyoungk:jee.zk","ref":"jee.zk","sha":"08c8cf5dc0627972f6884a23018877a64a06a56d","user":{"login":"jeeyoungk","id":232784,"avatar_url":"https://avatars.githubusercontent.com/u/232784?v=2","gravatar_id":"","url":"https://api.github.com/users/jeeyoungk","html_url":"https://github.com/jeeyoungk","followers_url":"https://api.github.com/users/jeeyoungk/followers","following_url":"https://api.github.com/users/jeeyoungk/following{/other_user}","gists_url":"https://api.github.com/users/jeeyoungk/gists{/gist_id}","starred_url":"https://api.github.com/users/jeeyoungk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeeyoungk/subscriptions","organizations_url":"https://api.github.com/users/jeeyoungk/orgs","repos_url":"https://api.github.com/users/jeeyoungk/repos","events_url":"https://api.github.com/users/jeeyoungk/events{/privacy}","received_events_url":"https://api.github.com/users/jeeyoungk/received_events","type":"User","site_admin":false},"repo":{"id":23808986,"name":"blueflood","full_name":"jeeyoungk/blueflood","owner":{"login":"jeeyoungk","id":232784,"avatar_url":"https://avatars.githubusercontent.com/u/232784?v=2","gravatar_id":"","url":"https://api.github.com/users/jeeyoungk","html_url":"https://github.com/jeeyoungk","followers_url":"https://api.github.com/users/jeeyoungk/followers","following_url":"https://api.github.com/users/jeeyoungk/following{/other_user}","gists_url":"https://api.github.com/users/jeeyoungk/gists{/gist_id}","starred_url":"https://api.github.com/users/jeeyoungk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeeyoungk/subscriptions","organizations_url":"https://api.github.com/users/jeeyoungk/orgs","repos_url":"https://api.github.com/users/jeeyoungk/repos","events_url":"https://api.github.com/users/jeeyoungk/events{/privacy}","received_events_url":"https://api.github.com/users/jeeyoungk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jeeyoungk/blueflood","description":"A distributed system designed to ingest and process time series data","fork":true,"url":"https://api.github.com/repos/jeeyoungk/blueflood","forks_url":"https://api.github.com/repos/jeeyoungk/blueflood/forks","keys_url":"https://api.github.com/repos/jeeyoungk/blueflood/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jeeyoungk/blueflood/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jeeyoungk/blueflood/teams","hooks_url":"https://api.github.com/repos/jeeyoungk/blueflood/hooks","issue_events_url":"https://api.github.com/repos/jeeyoungk/blueflood/issues/events{/number}","events_url":"https://api.github.com/repos/jeeyoungk/blueflood/events","assignees_url":"https://api.github.com/repos/jeeyoungk/blueflood/assignees{/user}","branches_url":"https://api.github.com/repos/jeeyoungk/blueflood/branches{/branch}","tags_url":"https://api.github.com/repos/jeeyoungk/blueflood/tags","blobs_url":"https://api.github.com/repos/jeeyoungk/blueflood/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jeeyoungk/blueflood/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jeeyoungk/blueflood/git/refs{/sha}","trees_url":"https://api.github.com/repos/jeeyoungk/blueflood/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jeeyoungk/blueflood/statuses/{sha}","languages_url":"https://api.github.com/repos/jeeyoungk/blueflood/languages","stargazers_url":"https://api.github.com/repos/jeeyoungk/blueflood/stargazers","contributors_url":"https://api.github.com/repos/jeeyoungk/blueflood/contributors","subscribers_url":"https://api.github.com/repos/jeeyoungk/blueflood/subscribers","subscription_url":"https://api.github.com/repos/jeeyoungk/blueflood/subscription","commits_url":"https://api.github.com/repos/jeeyoungk/blueflood/commits{/sha}","git_commits_url":"https://api.github.com/repos/jeeyoungk/blueflood/git/commits{/sha}","comments_url":"https://api.github.com/repos/jeeyoungk/blueflood/comments{/number}","issue_comment_url":"https://api.github.com/repos/jeeyoungk/blueflood/issues/comments/{number}","contents_url":"https://api.github.com/repos/jeeyoungk/blueflood/contents/{+path}","compare_url":"https://api.github.com/repos/jeeyoungk/blueflood/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jeeyoungk/blueflood/merges","archive_url":"https://api.github.com/repos/jeeyoungk/blueflood/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jeeyoungk/blueflood/downloads","issues_url":"https://api.github.com/repos/jeeyoungk/blueflood/issues{/number}","pulls_url":"https://api.github.com/repos/jeeyoungk/blueflood/pulls{/number}","milestones_url":"https://api.github.com/repos/jeeyoungk/blueflood/milestones{/number}","notifications_url":"https://api.github.com/repos/jeeyoungk/blueflood/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jeeyoungk/blueflood/labels{/name}","releases_url":"https://api.github.com/repos/jeeyoungk/blueflood/releases{/id}","created_at":"2014-09-08T21:24:51Z","updated_at":"2014-09-04T20:24:58Z","pushed_at":"2014-11-04T18:32:39Z","git_url":"git://github.com/jeeyoungk/blueflood.git","ssh_url":"git@github.com:jeeyoungk/blueflood.git","clone_url":"https://github.com/jeeyoungk/blueflood.git","svn_url":"https://github.com/jeeyoungk/blueflood","homepage":"http://www.blueflood.io","size":3359,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rackerlabs:master","ref":"master","sha":"acd63bca046e336e2ede3cc4c53599b9f77248cc","user":{"login":"rackerlabs","id":84293,"avatar_url":"https://avatars.githubusercontent.com/u/84293?v=2","gravatar_id":"","url":"https://api.github.com/users/rackerlabs","html_url":"https://github.com/rackerlabs","followers_url":"https://api.github.com/users/rackerlabs/followers","following_url":"https://api.github.com/users/rackerlabs/following{/other_user}","gists_url":"https://api.github.com/users/rackerlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/rackerlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rackerlabs/subscriptions","organizations_url":"https://api.github.com/users/rackerlabs/orgs","repos_url":"https://api.github.com/users/rackerlabs/repos","events_url":"https://api.github.com/users/rackerlabs/events{/privacy}","received_events_url":"https://api.github.com/users/rackerlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":10081109,"name":"blueflood","full_name":"rackerlabs/blueflood","owner":{"login":"rackerlabs","id":84293,"avatar_url":"https://avatars.githubusercontent.com/u/84293?v=2","gravatar_id":"","url":"https://api.github.com/users/rackerlabs","html_url":"https://github.com/rackerlabs","followers_url":"https://api.github.com/users/rackerlabs/followers","following_url":"https://api.github.com/users/rackerlabs/following{/other_user}","gists_url":"https://api.github.com/users/rackerlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/rackerlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rackerlabs/subscriptions","organizations_url":"https://api.github.com/users/rackerlabs/orgs","repos_url":"https://api.github.com/users/rackerlabs/repos","events_url":"https://api.github.com/users/rackerlabs/events{/privacy}","received_events_url":"https://api.github.com/users/rackerlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rackerlabs/blueflood","description":"A distributed system designed to ingest and process time series data","fork":false,"url":"https://api.github.com/repos/rackerlabs/blueflood","forks_url":"https://api.github.com/repos/rackerlabs/blueflood/forks","keys_url":"https://api.github.com/repos/rackerlabs/blueflood/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rackerlabs/blueflood/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rackerlabs/blueflood/teams","hooks_url":"https://api.github.com/repos/rackerlabs/blueflood/hooks","issue_events_url":"https://api.github.com/repos/rackerlabs/blueflood/issues/events{/number}","events_url":"https://api.github.com/repos/rackerlabs/blueflood/events","assignees_url":"https://api.github.com/repos/rackerlabs/blueflood/assignees{/user}","branches_url":"https://api.github.com/repos/rackerlabs/blueflood/branches{/branch}","tags_url":"https://api.github.com/repos/rackerlabs/blueflood/tags","blobs_url":"https://api.github.com/repos/rackerlabs/blueflood/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rackerlabs/blueflood/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rackerlabs/blueflood/git/refs{/sha}","trees_url":"https://api.github.com/repos/rackerlabs/blueflood/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rackerlabs/blueflood/statuses/{sha}","languages_url":"https://api.github.com/repos/rackerlabs/blueflood/languages","stargazers_url":"https://api.github.com/repos/rackerlabs/blueflood/stargazers","contributors_url":"https://api.github.com/repos/rackerlabs/blueflood/contributors","subscribers_url":"https://api.github.com/repos/rackerlabs/blueflood/subscribers","subscription_url":"https://api.github.com/repos/rackerlabs/blueflood/subscription","commits_url":"https://api.github.com/repos/rackerlabs/blueflood/commits{/sha}","git_commits_url":"https://api.github.com/repos/rackerlabs/blueflood/git/commits{/sha}","comments_url":"https://api.github.com/repos/rackerlabs/blueflood/comments{/number}","issue_comment_url":"https://api.github.com/repos/rackerlabs/blueflood/issues/comments/{number}","contents_url":"https://api.github.com/repos/rackerlabs/blueflood/contents/{+path}","compare_url":"https://api.github.com/repos/rackerlabs/blueflood/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rackerlabs/blueflood/merges","archive_url":"https://api.github.com/repos/rackerlabs/blueflood/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rackerlabs/blueflood/downloads","issues_url":"https://api.github.com/repos/rackerlabs/blueflood/issues{/number}","pulls_url":"https://api.github.com/repos/rackerlabs/blueflood/pulls{/number}","milestones_url":"https://api.github.com/repos/rackerlabs/blueflood/milestones{/number}","notifications_url":"https://api.github.com/repos/rackerlabs/blueflood/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rackerlabs/blueflood/labels{/name}","releases_url":"https://api.github.com/repos/rackerlabs/blueflood/releases{/id}","created_at":"2013-05-15T14:50:39Z","updated_at":"2014-10-30T15:08:34Z","pushed_at":"2014-11-05T21:35:26Z","git_url":"git://github.com/rackerlabs/blueflood.git","ssh_url":"git@github.com:rackerlabs/blueflood.git","clone_url":"https://github.com/rackerlabs/blueflood.git","svn_url":"https://github.com/rackerlabs/blueflood","homepage":"http://www.blueflood.io","size":14486,"stargazers_count":229,"watchers_count":229,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":28,"mirror_url":null,"open_issues_count":26,"forks":28,"open_issues":26,"watchers":229,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rackerlabs/blueflood/pulls/383"},"html":{"href":"https://github.com/rackerlabs/blueflood/pull/383"},"issue":{"href":"https://api.github.com/repos/rackerlabs/blueflood/issues/383"},"comments":{"href":"https://api.github.com/repos/rackerlabs/blueflood/issues/383/comments"},"review_comments":{"href":"https://api.github.com/repos/rackerlabs/blueflood/pulls/383/comments"},"review_comment":{"href":"https://api.github.com/repos/rackerlabs/blueflood/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/rackerlabs/blueflood/pulls/383/commits"},"statuses":{"href":"https://api.github.com/repos/rackerlabs/blueflood/statuses/08c8cf5dc0627972f6884a23018877a64a06a56d"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"gdusbabek","id":171875,"avatar_url":"https://avatars.githubusercontent.com/u/171875?v=2","gravatar_id":"","url":"https://api.github.com/users/gdusbabek","html_url":"https://github.com/gdusbabek","followers_url":"https://api.github.com/users/gdusbabek/followers","following_url":"https://api.github.com/users/gdusbabek/following{/other_user}","gists_url":"https://api.github.com/users/gdusbabek/gists{/gist_id}","starred_url":"https://api.github.com/users/gdusbabek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gdusbabek/subscriptions","organizations_url":"https://api.github.com/users/gdusbabek/orgs","repos_url":"https://api.github.com/users/gdusbabek/repos","events_url":"https://api.github.com/users/gdusbabek/events{/privacy}","received_events_url":"https://api.github.com/users/gdusbabek/received_events","type":"User","site_admin":false},"comments":3,"review_comments":2,"commits":2,"additions":442,"deletions":255,"changed_files":5}}