GitHub PullRequestEvent at 2014-09-11 20:31:37
Repository: c5
Actor: joshua-g
Payload: {"action":"opened","number":282,"pull_request":{"url":"https://api.github.com/repos/OhmData/c5/pulls/282","id":21115237,"html_url":"https://github.com/OhmData/c5/pull/282","diff_url":"https://github.com/OhmData/c5/pull/282.diff","patch_url":"https://github.com/OhmData/c5/pull/282.patch","issue_url":"https://api.github.com/repos/OhmData/c5/issues/282","number":282,"state":"open","locked":false,"title":"Log readers for non-C5DB replicator clients","user":{"login":"joshua-g","id":6463868,"avatar_url":"https://avatars.githubusercontent.com/u/6463868?v=2","gravatar_id":"1ae02f0a833ecdf047f25dc4eba5312c","url":"https://api.github.com/users/joshua-g","html_url":"https://github.com/joshua-g","followers_url":"https://api.github.com/users/joshua-g/followers","following_url":"https://api.github.com/users/joshua-g/following{/other_user}","gists_url":"https://api.github.com/users/joshua-g/gists{/gist_id}","starred_url":"https://api.github.com/users/joshua-g/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshua-g/subscriptions","organizations_url":"https://api.github.com/users/joshua-g/orgs","repos_url":"https://api.github.com/users/joshua-g/repos","events_url":"https://api.github.com/users/joshua-g/events{/privacy}","received_events_url":"https://api.github.com/users/joshua-g/received_events","type":"User","site_admin":false},"body":"The commits in this PR work towards creating a general-purpose reader of our replicator log. \r\n\r\nAlthough OLogReader already existed, it exposed implementation details such as the control entries in the log, as well as the type of log entry itself (e.g. OLogEntry). This genericizes OLogReader, and it introduces a new simplified kind of \"entry\" for the replicator client to use -- ReplicatorEntry. ReplicatorEntry only knows about sequence number and data -- nothing else such as \"terms\" or \"quorums\". The commits in this PR then implement decoding the log into instances of ReplicatorEntry.\r\n\r\nThe motivation is to support an interface abstract enough that if our replicator implementation is used for some arbitrary non-C5DB use, such as replicating HBase WALs, the user will not be tied to implementation details.","created_at":"2014-09-11T20:31:37Z","updated_at":"2014-09-11T20:31:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/OhmData/c5/pulls/282/commits","review_comments_url":"https://api.github.com/repos/OhmData/c5/pulls/282/comments","review_comment_url":"https://api.github.com/repos/OhmData/c5/pulls/comments/{number}","comments_url":"https://api.github.com/repos/OhmData/c5/issues/282/comments","statuses_url":"https://api.github.com/repos/OhmData/c5/statuses/49a3eceac76b0f8c85a6c8de8f0526a49c6b5545","head":{"label":"joshua-g:replicator-log-readers","ref":"replicator-log-readers","sha":"49a3eceac76b0f8c85a6c8de8f0526a49c6b5545","user":{"login":"joshua-g","id":6463868,"avatar_url":"https://avatars.githubusercontent.com/u/6463868?v=2","gravatar_id":"1ae02f0a833ecdf047f25dc4eba5312c","url":"https://api.github.com/users/joshua-g","html_url":"https://github.com/joshua-g","followers_url":"https://api.github.com/users/joshua-g/followers","following_url":"https://api.github.com/users/joshua-g/following{/other_user}","gists_url":"https://api.github.com/users/joshua-g/gists{/gist_id}","starred_url":"https://api.github.com/users/joshua-g/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshua-g/subscriptions","organizations_url":"https://api.github.com/users/joshua-g/orgs","repos_url":"https://api.github.com/users/joshua-g/repos","events_url":"https://api.github.com/users/joshua-g/events{/privacy}","received_events_url":"https://api.github.com/users/joshua-g/received_events","type":"User","site_admin":false},"repo":{"id":23925761,"name":"c5","full_name":"joshua-g/c5","owner":{"login":"joshua-g","id":6463868,"avatar_url":"https://avatars.githubusercontent.com/u/6463868?v=2","gravatar_id":"1ae02f0a833ecdf047f25dc4eba5312c","url":"https://api.github.com/users/joshua-g","html_url":"https://github.com/joshua-g","followers_url":"https://api.github.com/users/joshua-g/followers","following_url":"https://api.github.com/users/joshua-g/following{/other_user}","gists_url":"https://api.github.com/users/joshua-g/gists{/gist_id}","starred_url":"https://api.github.com/users/joshua-g/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshua-g/subscriptions","organizations_url":"https://api.github.com/users/joshua-g/orgs","repos_url":"https://api.github.com/users/joshua-g/repos","events_url":"https://api.github.com/users/joshua-g/events{/privacy}","received_events_url":"https://api.github.com/users/joshua-g/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/joshua-g/c5","description":"c5","fork":true,"url":"https://api.github.com/repos/joshua-g/c5","forks_url":"https://api.github.com/repos/joshua-g/c5/forks","keys_url":"https://api.github.com/repos/joshua-g/c5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/joshua-g/c5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/joshua-g/c5/teams","hooks_url":"https://api.github.com/repos/joshua-g/c5/hooks","issue_events_url":"https://api.github.com/repos/joshua-g/c5/issues/events{/number}","events_url":"https://api.github.com/repos/joshua-g/c5/events","assignees_url":"https://api.github.com/repos/joshua-g/c5/assignees{/user}","branches_url":"https://api.github.com/repos/joshua-g/c5/branches{/branch}","tags_url":"https://api.github.com/repos/joshua-g/c5/tags","blobs_url":"https://api.github.com/repos/joshua-g/c5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/joshua-g/c5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/joshua-g/c5/git/refs{/sha}","trees_url":"https://api.github.com/repos/joshua-g/c5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/joshua-g/c5/statuses/{sha}","languages_url":"https://api.github.com/repos/joshua-g/c5/languages","stargazers_url":"https://api.github.com/repos/joshua-g/c5/stargazers","contributors_url":"https://api.github.com/repos/joshua-g/c5/contributors","subscribers_url":"https://api.github.com/repos/joshua-g/c5/subscribers","subscription_url":"https://api.github.com/repos/joshua-g/c5/subscription","commits_url":"https://api.github.com/repos/joshua-g/c5/commits{/sha}","git_commits_url":"https://api.github.com/repos/joshua-g/c5/git/commits{/sha}","comments_url":"https://api.github.com/repos/joshua-g/c5/comments{/number}","issue_comment_url":"https://api.github.com/repos/joshua-g/c5/issues/comments/{number}","contents_url":"https://api.github.com/repos/joshua-g/c5/contents/{+path}","compare_url":"https://api.github.com/repos/joshua-g/c5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/joshua-g/c5/merges","archive_url":"https://api.github.com/repos/joshua-g/c5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/joshua-g/c5/downloads","issues_url":"https://api.github.com/repos/joshua-g/c5/issues{/number}","pulls_url":"https://api.github.com/repos/joshua-g/c5/pulls{/number}","milestones_url":"https://api.github.com/repos/joshua-g/c5/milestones{/number}","notifications_url":"https://api.github.com/repos/joshua-g/c5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/joshua-g/c5/labels{/name}","releases_url":"https://api.github.com/repos/joshua-g/c5/releases{/id}","created_at":"2014-09-11T16:15:20Z","updated_at":"2014-09-11T16:16:30Z","pushed_at":"2014-09-11T20:21:32Z","git_url":"git://github.com/joshua-g/c5.git","ssh_url":"git@github.com:joshua-g/c5.git","clone_url":"https://github.com/joshua-g/c5.git","svn_url":"https://github.com/joshua-g/c5","homepage":"","size":8744,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"OhmData:master","ref":"master","sha":"099fe01f59c9b25cb4b338583a1a580828ee925f","user":{"login":"OhmData","id":3888396,"avatar_url":"https://avatars.githubusercontent.com/u/3888396?v=2","gravatar_id":null,"url":"https://api.github.com/users/OhmData","html_url":"https://github.com/OhmData","followers_url":"https://api.github.com/users/OhmData/followers","following_url":"https://api.github.com/users/OhmData/following{/other_user}","gists_url":"https://api.github.com/users/OhmData/gists{/gist_id}","starred_url":"https://api.github.com/users/OhmData/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OhmData/subscriptions","organizations_url":"https://api.github.com/users/OhmData/orgs","repos_url":"https://api.github.com/users/OhmData/repos","events_url":"https://api.github.com/users/OhmData/events{/privacy}","received_events_url":"https://api.github.com/users/OhmData/received_events","type":"Organization","site_admin":false},"repo":{"id":16395045,"name":"c5","full_name":"OhmData/c5","owner":{"login":"OhmData","id":3888396,"avatar_url":"https://avatars.githubusercontent.com/u/3888396?v=2","gravatar_id":null,"url":"https://api.github.com/users/OhmData","html_url":"https://github.com/OhmData","followers_url":"https://api.github.com/users/OhmData/followers","following_url":"https://api.github.com/users/OhmData/following{/other_user}","gists_url":"https://api.github.com/users/OhmData/gists{/gist_id}","starred_url":"https://api.github.com/users/OhmData/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OhmData/subscriptions","organizations_url":"https://api.github.com/users/OhmData/orgs","repos_url":"https://api.github.com/users/OhmData/repos","events_url":"https://api.github.com/users/OhmData/events{/privacy}","received_events_url":"https://api.github.com/users/OhmData/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OhmData/c5","description":"c5","fork":false,"url":"https://api.github.com/repos/OhmData/c5","forks_url":"https://api.github.com/repos/OhmData/c5/forks","keys_url":"https://api.github.com/repos/OhmData/c5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OhmData/c5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OhmData/c5/teams","hooks_url":"https://api.github.com/repos/OhmData/c5/hooks","issue_events_url":"https://api.github.com/repos/OhmData/c5/issues/events{/number}","events_url":"https://api.github.com/repos/OhmData/c5/events","assignees_url":"https://api.github.com/repos/OhmData/c5/assignees{/user}","branches_url":"https://api.github.com/repos/OhmData/c5/branches{/branch}","tags_url":"https://api.github.com/repos/OhmData/c5/tags","blobs_url":"https://api.github.com/repos/OhmData/c5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OhmData/c5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OhmData/c5/git/refs{/sha}","trees_url":"https://api.github.com/repos/OhmData/c5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OhmData/c5/statuses/{sha}","languages_url":"https://api.github.com/repos/OhmData/c5/languages","stargazers_url":"https://api.github.com/repos/OhmData/c5/stargazers","contributors_url":"https://api.github.com/repos/OhmData/c5/contributors","subscribers_url":"https://api.github.com/repos/OhmData/c5/subscribers","subscription_url":"https://api.github.com/repos/OhmData/c5/subscription","commits_url":"https://api.github.com/repos/OhmData/c5/commits{/sha}","git_commits_url":"https://api.github.com/repos/OhmData/c5/git/commits{/sha}","comments_url":"https://api.github.com/repos/OhmData/c5/comments{/number}","issue_comment_url":"https://api.github.com/repos/OhmData/c5/issues/comments/{number}","contents_url":"https://api.github.com/repos/OhmData/c5/contents/{+path}","compare_url":"https://api.github.com/repos/OhmData/c5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OhmData/c5/merges","archive_url":"https://api.github.com/repos/OhmData/c5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OhmData/c5/downloads","issues_url":"https://api.github.com/repos/OhmData/c5/issues{/number}","pulls_url":"https://api.github.com/repos/OhmData/c5/pulls{/number}","milestones_url":"https://api.github.com/repos/OhmData/c5/milestones{/number}","notifications_url":"https://api.github.com/repos/OhmData/c5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OhmData/c5/labels{/name}","releases_url":"https://api.github.com/repos/OhmData/c5/releases{/id}","created_at":"2014-01-31T00:02:52Z","updated_at":"2014-09-10T21:16:03Z","pushed_at":"2014-09-11T18:50:58Z","git_url":"git://github.com/OhmData/c5.git","ssh_url":"git@github.com:OhmData/c5.git","clone_url":"https://github.com/OhmData/c5.git","svn_url":"https://github.com/OhmData/c5","homepage":"","size":13556,"stargazers_count":2,"watchers_count":2,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":1,"mirror_url":null,"open_issues_count":114,"forks":1,"open_issues":114,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OhmData/c5/pulls/282"},"html":{"href":"https://github.com/OhmData/c5/pull/282"},"issue":{"href":"https://api.github.com/repos/OhmData/c5/issues/282"},"comments":{"href":"https://api.github.com/repos/OhmData/c5/issues/282/comments"},"review_comments":{"href":"https://api.github.com/repos/OhmData/c5/pulls/282/comments"},"review_comment":{"href":"https://api.github.com/repos/OhmData/c5/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/OhmData/c5/pulls/282/commits"},"statuses":{"href":"https://api.github.com/repos/OhmData/c5/statuses/49a3eceac76b0f8c85a6c8de8f0526a49c6b5545"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":10,"additions":287,"deletions":33,"changed_files":26}}