{"action":"created","comment":{"url":"https://api.github.com/repos/golang/leveldb/pulls/comments/35842777","id":35842777,"diff_hunk":"@@ -24,11 +24,12 @@\n //\t\trecords := record.NewReader(r)\n //\t\tfor {\n //\t\t\trec, err := records.Next()\n-//\t\t\tif err == io.EOF {\n+//\t\t\tif err == io.EOF || err == io.ErrUnexpectedEOF {\n //\t\t\t\tbreak\n //\t\t\t}\n //\t\t\tif err != nil {\n-//\t\t\t\treturn nil, err\n+//\t\t\t\tr.Recover()  // Skip corrupted records.\n+//\t\t\t\tcontinue\n //\t\t\t}\n //\t\t\ts, err := ioutil.ReadAll(rec)\n //\t\t\tif err != nil {","path":"record/record.go","position":14,"original_position":14,"commit_id":"0e62edd64411a50da26fc8326a8e8cdb347d66ae","original_commit_id":"0e62edd64411a50da26fc8326a8e8cdb347d66ae","user":{"login":"nigeltao","id":8565232,"avatar_url":"https://avatars.githubusercontent.com/u/8565232?v=3","gravatar_id":"","url":"https://api.github.com/users/nigeltao","html_url":"https://github.com/nigeltao","followers_url":"https://api.github.com/users/nigeltao/followers","following_url":"https://api.github.com/users/nigeltao/following{/other_user}","gists_url":"https://api.github.com/users/nigeltao/gists{/gist_id}","starred_url":"https://api.github.com/users/nigeltao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigeltao/subscriptions","organizations_url":"https://api.github.com/users/nigeltao/orgs","repos_url":"https://api.github.com/users/nigeltao/repos","events_url":"https://api.github.com/users/nigeltao/events{/privacy}","received_events_url":"https://api.github.com/users/nigeltao/received_events","type":"User","site_admin":false},"body":"Do we also need to recover from this error? Is recovery going to be the same process for ReadAll as opposed to Next?","created_at":"2015-07-30T06:44:38Z","updated_at":"2015-07-30T06:44:38Z","html_url":"https://github.com/golang/leveldb/pull/20#discussion_r35842777","pull_request_url":"https://api.github.com/repos/golang/leveldb/pulls/20","_links":{"self":{"href":"https://api.github.com/repos/golang/leveldb/pulls/comments/35842777"},"html":{"href":"https://github.com/golang/leveldb/pull/20#discussion_r35842777"},"pull_request":{"href":"https://api.github.com/repos/golang/leveldb/pulls/20"}}},"pull_request":{"url":"https://api.github.com/repos/golang/leveldb/pulls/20","id":40429017,"html_url":"https://github.com/golang/leveldb/pull/20","diff_url":"https://github.com/golang/leveldb/pull/20.diff","patch_url":"https://github.com/golang/leveldb/pull/20.patch","issue_url":"https://api.github.com/repos/golang/leveldb/issues/20","number":20,"state":"open","locked":false,"title":"Add support for recovery of reading corrupted record files","user":{"login":"mikewiacek","id":2216797,"avatar_url":"https://avatars.githubusercontent.com/u/2216797?v=3","gravatar_id":"","url":"https://api.github.com/users/mikewiacek","html_url":"https://github.com/mikewiacek","followers_url":"https://api.github.com/users/mikewiacek/followers","following_url":"https://api.github.com/users/mikewiacek/following{/other_user}","gists_url":"https://api.github.com/users/mikewiacek/gists{/gist_id}","starred_url":"https://api.github.com/users/mikewiacek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikewiacek/subscriptions","organizations_url":"https://api.github.com/users/mikewiacek/orgs","repos_url":"https://api.github.com/users/mikewiacek/repos","events_url":"https://api.github.com/users/mikewiacek/events{/privacy}","received_events_url":"https://api.github.com/users/mikewiacek/received_events","type":"User","site_admin":false},"body":"Make it possible to recover when reading corrupted record files.","created_at":"2015-07-21T07:21:40Z","updated_at":"2015-07-30T06:44:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ea19b08674a994ba58c7d3bd8872e0daace72a0b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/golang/leveldb/pulls/20/commits","review_comments_url":"https://api.github.com/repos/golang/leveldb/pulls/20/comments","review_comment_url":"https://api.github.com/repos/golang/leveldb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/golang/leveldb/issues/20/comments","statuses_url":"https://api.github.com/repos/golang/leveldb/statuses/0e62edd64411a50da26fc8326a8e8cdb347d66ae","head":{"label":"mikewiacek:master","ref":"master","sha":"0e62edd64411a50da26fc8326a8e8cdb347d66ae","user":{"login":"mikewiacek","id":2216797,"avatar_url":"https://avatars.githubusercontent.com/u/2216797?v=3","gravatar_id":"","url":"https://api.github.com/users/mikewiacek","html_url":"https://github.com/mikewiacek","followers_url":"https://api.github.com/users/mikewiacek/followers","following_url":"https://api.github.com/users/mikewiacek/following{/other_user}","gists_url":"https://api.github.com/users/mikewiacek/gists{/gist_id}","starred_url":"https://api.github.com/users/mikewiacek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikewiacek/subscriptions","organizations_url":"https://api.github.com/users/mikewiacek/orgs","repos_url":"https://api.github.com/users/mikewiacek/repos","events_url":"https://api.github.com/users/mikewiacek/events{/privacy}","received_events_url":"https://api.github.com/users/mikewiacek/received_events","type":"User","site_admin":false},"repo":{"id":39415939,"name":"leveldb","full_name":"mikewiacek/leveldb","owner":{"login":"mikewiacek","id":2216797,"avatar_url":"https://avatars.githubusercontent.com/u/2216797?v=3","gravatar_id":"","url":"https://api.github.com/users/mikewiacek","html_url":"https://github.com/mikewiacek","followers_url":"https://api.github.com/users/mikewiacek/followers","following_url":"https://api.github.com/users/mikewiacek/following{/other_user}","gists_url":"https://api.github.com/users/mikewiacek/gists{/gist_id}","starred_url":"https://api.github.com/users/mikewiacek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikewiacek/subscriptions","organizations_url":"https://api.github.com/users/mikewiacek/orgs","repos_url":"https://api.github.com/users/mikewiacek/repos","events_url":"https://api.github.com/users/mikewiacek/events{/privacy}","received_events_url":"https://api.github.com/users/mikewiacek/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mikewiacek/leveldb","description":"The LevelDB key-value database in the Go programming language.","fork":true,"url":"https://api.github.com/repos/mikewiacek/leveldb","forks_url":"https://api.github.com/repos/mikewiacek/leveldb/forks","keys_url":"https://api.github.com/repos/mikewiacek/leveldb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mikewiacek/leveldb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mikewiacek/leveldb/teams","hooks_url":"https://api.github.com/repos/mikewiacek/leveldb/hooks","issue_events_url":"https://api.github.com/repos/mikewiacek/leveldb/issues/events{/number}","events_url":"https://api.github.com/repos/mikewiacek/leveldb/events","assignees_url":"https://api.github.com/repos/mikewiacek/leveldb/assignees{/user}","branches_url":"https://api.github.com/repos/mikewiacek/leveldb/branches{/branch}","tags_url":"https://api.github.com/repos/mikewiacek/leveldb/tags","blobs_url":"https://api.github.com/repos/mikewiacek/leveldb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mikewiacek/leveldb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mikewiacek/leveldb/git/refs{/sha}","trees_url":"https://api.github.com/repos/mikewiacek/leveldb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mikewiacek/leveldb/statuses/{sha}","languages_url":"https://api.github.com/repos/mikewiacek/leveldb/languages","stargazers_url":"https://api.github.com/repos/mikewiacek/leveldb/stargazers","contributors_url":"https://api.github.com/repos/mikewiacek/leveldb/contributors","subscribers_url":"https://api.github.com/repos/mikewiacek/leveldb/subscribers","subscription_url":"https://api.github.com/repos/mikewiacek/leveldb/subscription","commits_url":"https://api.github.com/repos/mikewiacek/leveldb/commits{/sha}","git_commits_url":"https://api.github.com/repos/mikewiacek/leveldb/git/commits{/sha}","comments_url":"https://api.github.com/repos/mikewiacek/leveldb/comments{/number}","issue_comment_url":"https://api.github.com/repos/mikewiacek/leveldb/issues/comments{/number}","contents_url":"https://api.github.com/repos/mikewiacek/leveldb/contents/{+path}","compare_url":"https://api.github.com/repos/mikewiacek/leveldb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mikewiacek/leveldb/merges","archive_url":"https://api.github.com/repos/mikewiacek/leveldb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mikewiacek/leveldb/downloads","issues_url":"https://api.github.com/repos/mikewiacek/leveldb/issues{/number}","pulls_url":"https://api.github.com/repos/mikewiacek/leveldb/pulls{/number}","milestones_url":"https://api.github.com/repos/mikewiacek/leveldb/milestones{/number}","notifications_url":"https://api.github.com/repos/mikewiacek/leveldb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mikewiacek/leveldb/labels{/name}","releases_url":"https://api.github.com/repos/mikewiacek/leveldb/releases{/id}","created_at":"2015-07-21T00:54:57Z","updated_at":"2015-07-21T00:54:59Z","pushed_at":"2015-07-28T17:58:53Z","git_url":"git://github.com/mikewiacek/leveldb.git","ssh_url":"git@github.com:mikewiacek/leveldb.git","clone_url":"https://github.com/mikewiacek/leveldb.git","svn_url":"https://github.com/mikewiacek/leveldb","homepage":"","size":277,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"golang:master","ref":"master","sha":"df57eb24eabdcd9e99f60a81ad5721da8895b90e","user":{"login":"golang","id":4314092,"avatar_url":"https://avatars.githubusercontent.com/u/4314092?v=3","gravatar_id":"","url":"https://api.github.com/users/golang","html_url":"https://github.com/golang","followers_url":"https://api.github.com/users/golang/followers","following_url":"https://api.github.com/users/golang/following{/other_user}","gists_url":"https://api.github.com/users/golang/gists{/gist_id}","starred_url":"https://api.github.com/users/golang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/golang/subscriptions","organizations_url":"https://api.github.com/users/golang/orgs","repos_url":"https://api.github.com/users/golang/repos","events_url":"https://api.github.com/users/golang/events{/privacy}","received_events_url":"https://api.github.com/users/golang/received_events","type":"Organization","site_admin":false},"repo":{"id":39362963,"name":"leveldb","full_name":"golang/leveldb","owner":{"login":"golang","id":4314092,"avatar_url":"https://avatars.githubusercontent.com/u/4314092?v=3","gravatar_id":"","url":"https://api.github.com/users/golang","html_url":"https://github.com/golang","followers_url":"https://api.github.com/users/golang/followers","following_url":"https://api.github.com/users/golang/following{/other_user}","gists_url":"https://api.github.com/users/golang/gists{/gist_id}","starred_url":"https://api.github.com/users/golang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/golang/subscriptions","organizations_url":"https://api.github.com/users/golang/orgs","repos_url":"https://api.github.com/users/golang/repos","events_url":"https://api.github.com/users/golang/events{/privacy}","received_events_url":"https://api.github.com/users/golang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/golang/leveldb","description":"The LevelDB key-value database in the Go programming language.","fork":false,"url":"https://api.github.com/repos/golang/leveldb","forks_url":"https://api.github.com/repos/golang/leveldb/forks","keys_url":"https://api.github.com/repos/golang/leveldb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/golang/leveldb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/golang/leveldb/teams","hooks_url":"https://api.github.com/repos/golang/leveldb/hooks","issue_events_url":"https://api.github.com/repos/golang/leveldb/issues/events{/number}","events_url":"https://api.github.com/repos/golang/leveldb/events","assignees_url":"https://api.github.com/repos/golang/leveldb/assignees{/user}","branches_url":"https://api.github.com/repos/golang/leveldb/branches{/branch}","tags_url":"https://api.github.com/repos/golang/leveldb/tags","blobs_url":"https://api.github.com/repos/golang/leveldb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/golang/leveldb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/golang/leveldb/git/refs{/sha}","trees_url":"https://api.github.com/repos/golang/leveldb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/golang/leveldb/statuses/{sha}","languages_url":"https://api.github.com/repos/golang/leveldb/languages","stargazers_url":"https://api.github.com/repos/golang/leveldb/stargazers","contributors_url":"https://api.github.com/repos/golang/leveldb/contributors","subscribers_url":"https://api.github.com/repos/golang/leveldb/subscribers","subscription_url":"https://api.github.com/repos/golang/leveldb/subscription","commits_url":"https://api.github.com/repos/golang/leveldb/commits{/sha}","git_commits_url":"https://api.github.com/repos/golang/leveldb/git/commits{/sha}","comments_url":"https://api.github.com/repos/golang/leveldb/comments{/number}","issue_comment_url":"https://api.github.com/repos/golang/leveldb/issues/comments{/number}","contents_url":"https://api.github.com/repos/golang/leveldb/contents/{+path}","compare_url":"https://api.github.com/repos/golang/leveldb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/golang/leveldb/merges","archive_url":"https://api.github.com/repos/golang/leveldb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/golang/leveldb/downloads","issues_url":"https://api.github.com/repos/golang/leveldb/issues{/number}","pulls_url":"https://api.github.com/repos/golang/leveldb/pulls{/number}","milestones_url":"https://api.github.com/repos/golang/leveldb/milestones{/number}","notifications_url":"https://api.github.com/repos/golang/leveldb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/golang/leveldb/labels{/name}","releases_url":"https://api.github.com/repos/golang/leveldb/releases{/id}","created_at":"2015-07-20T04:21:17Z","updated_at":"2015-07-29T14:54:52Z","pushed_at":"2015-07-28T17:58:53Z","git_url":"git://github.com/golang/leveldb.git","ssh_url":"git@github.com:golang/leveldb.git","clone_url":"https://github.com/golang/leveldb.git","svn_url":"https://github.com/golang/leveldb","homepage":"","size":345,"stargazers_count":15,"watchers_count":15,"language":"Go","has_issues":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":6,"forks":1,"open_issues":6,"watchers":15,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/golang/leveldb/pulls/20"},"html":{"href":"https://github.com/golang/leveldb/pull/20"},"issue":{"href":"https://api.github.com/repos/golang/leveldb/issues/20"},"comments":{"href":"https://api.github.com/repos/golang/leveldb/issues/20/comments"},"review_comments":{"href":"https://api.github.com/repos/golang/leveldb/pulls/20/comments"},"review_comment":{"href":"https://api.github.com/repos/golang/leveldb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/golang/leveldb/pulls/20/commits"},"statuses":{"href":"https://api.github.com/repos/golang/leveldb/statuses/0e62edd64411a50da26fc8326a8e8cdb347d66ae"}}}}