{"action":"created","comment":{"url":"https://api.github.com/repos/elastic/elasticsearch/pulls/comments/225127309","pull_request_review_id":164657443,"id":225127309,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNTEyNzMwOQ==","diff_hunk":"@@ -203,6 +203,11 @@ private static SegmentInfos readSegmentsInfo(IndexCommit commit, Directory direc\n             // TODO this should be caught by lucene - EOF is almost certainly an index corruption\n             throw new CorruptIndexException(\"Read past EOF while reading segment infos\", \"commit(\" + commit + \")\", eof);\n         } catch (IOException exception) {\n+            final String message = exception.getMessage();\n+            // DataInput throws a generic IOException on odd data cases\n+            if (message != null && (message.startsWith(\"Invalid vLong detected\") || message.startsWith(\"Invalid vInt detected\"))) {","path":"server/src/main/java/org/elasticsearch/index/store/Store.java","position":6,"original_position":6,"commit_id":"44cacf35889daecb79a9ad02afca097d5242422c","original_commit_id":"3b29689f580b77e5267c38c7eed78d2007aae27c","user":{"login":"vladimirdolzhenko","id":209440,"node_id":"MDQ6VXNlcjIwOTQ0MA==","avatar_url":"https://avatars0.githubusercontent.com/u/209440?v=4","gravatar_id":"","url":"https://api.github.com/users/vladimirdolzhenko","html_url":"https://github.com/vladimirdolzhenko","followers_url":"https://api.github.com/users/vladimirdolzhenko/followers","following_url":"https://api.github.com/users/vladimirdolzhenko/following{/other_user}","gists_url":"https://api.github.com/users/vladimirdolzhenko/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimirdolzhenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimirdolzhenko/subscriptions","organizations_url":"https://api.github.com/users/vladimirdolzhenko/orgs","repos_url":"https://api.github.com/users/vladimirdolzhenko/repos","events_url":"https://api.github.com/users/vladimirdolzhenko/events{/privacy}","received_events_url":"https://api.github.com/users/vladimirdolzhenko/received_events","type":"User","site_admin":false},"body":"@jasontedor I've addressed that in 2a18280","created_at":"2018-10-15T11:19:17Z","updated_at":"2018-10-15T11:19:17Z","html_url":"https://github.com/elastic/elasticsearch/pull/34385#discussion_r225127309","pull_request_url":"https://api.github.com/repos/elastic/elasticsearch/pulls/34385","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/comments/225127309"},"html":{"href":"https://github.com/elastic/elasticsearch/pull/34385#discussion_r225127309"},"pull_request":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/34385"}},"in_reply_to_id":224997135},"pull_request":{"url":"https://api.github.com/repos/elastic/elasticsearch/pulls/34385","id":221868726,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxODY4NzI2","html_url":"https://github.com/elastic/elasticsearch/pull/34385","diff_url":"https://github.com/elastic/elasticsearch/pull/34385.diff","patch_url":"https://github.com/elastic/elasticsearch/pull/34385.patch","issue_url":"https://api.github.com/repos/elastic/elasticsearch/issues/34385","number":34385,"state":"open","locked":false,"title":"Check IOException for corruption specific messages","user":{"login":"vladimirdolzhenko","id":209440,"node_id":"MDQ6VXNlcjIwOTQ0MA==","avatar_url":"https://avatars0.githubusercontent.com/u/209440?v=4","gravatar_id":"","url":"https://api.github.com/users/vladimirdolzhenko","html_url":"https://github.com/vladimirdolzhenko","followers_url":"https://api.github.com/users/vladimirdolzhenko/followers","following_url":"https://api.github.com/users/vladimirdolzhenko/following{/other_user}","gists_url":"https://api.github.com/users/vladimirdolzhenko/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimirdolzhenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimirdolzhenko/subscriptions","organizations_url":"https://api.github.com/users/vladimirdolzhenko/orgs","repos_url":"https://api.github.com/users/vladimirdolzhenko/repos","events_url":"https://api.github.com/users/vladimirdolzhenko/events{/privacy}","received_events_url":"https://api.github.com/users/vladimirdolzhenko/received_events","type":"User","site_admin":false},"body":"Lucene throws generic IOException due to corrupted data - https://github.com/apache/lucene-solr/blob/1d85cd783863f75cea133fb9c452302214165a4d/lucene/core/src/java/org/apache/lucene/store/DataInput.java#L141 - it is not handled properly on its level and effectively SegmentInfo.readCommit violates its contract \r\n```\r\n   * @throws CorruptIndexException if the index is corrupt\r\n   * @throws IOException if there is a low-level IO error\r\n   */\r\n  public static final SegmentInfos readCommit(Directory directory, String segmentFileName) throws IOException {\r\n```\r\n\r\nWhile there is https://issues.apache.org/jira/browse/LUCENE-8525 to address this problem, we can prevent this problem on our side relying on an exception message like we do in https://github.com/elastic/elasticsearch/blob/237650e9c054149fd08213b38a81a3666c1868e5/server/src/main/java/org/elasticsearch/common/transport/NetworkExceptionHelper.java#L40\r\n\r\n**Note**: this PR is more a placeholder if we are not able to manage Lucene issue in some reasonable time\r\n\r\nCloses #34322 ","created_at":"2018-10-10T17:17:08Z","updated_at":"2018-10-15T11:19:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"da1bf893912f735d2664426bba54b729a47c3b1d","assignee":{"login":"vladimirdolzhenko","id":209440,"node_id":"MDQ6VXNlcjIwOTQ0MA==","avatar_url":"https://avatars0.githubusercontent.com/u/209440?v=4","gravatar_id":"","url":"https://api.github.com/users/vladimirdolzhenko","html_url":"https://github.com/vladimirdolzhenko","followers_url":"https://api.github.com/users/vladimirdolzhenko/followers","following_url":"https://api.github.com/users/vladimirdolzhenko/following{/other_user}","gists_url":"https://api.github.com/users/vladimirdolzhenko/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimirdolzhenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimirdolzhenko/subscriptions","organizations_url":"https://api.github.com/users/vladimirdolzhenko/orgs","repos_url":"https://api.github.com/users/vladimirdolzhenko/repos","events_url":"https://api.github.com/users/vladimirdolzhenko/events{/privacy}","received_events_url":"https://api.github.com/users/vladimirdolzhenko/received_events","type":"User","site_admin":false},"assignees":[{"login":"vladimirdolzhenko","id":209440,"node_id":"MDQ6VXNlcjIwOTQ0MA==","avatar_url":"https://avatars0.githubusercontent.com/u/209440?v=4","gravatar_id":"","url":"https://api.github.com/users/vladimirdolzhenko","html_url":"https://github.com/vladimirdolzhenko","followers_url":"https://api.github.com/users/vladimirdolzhenko/followers","following_url":"https://api.github.com/users/vladimirdolzhenko/following{/other_user}","gists_url":"https://api.github.com/users/vladimirdolzhenko/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimirdolzhenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimirdolzhenko/subscriptions","organizations_url":"https://api.github.com/users/vladimirdolzhenko/orgs","repos_url":"https://api.github.com/users/vladimirdolzhenko/repos","events_url":"https://api.github.com/users/vladimirdolzhenko/events{/privacy}","received_events_url":"https://api.github.com/users/vladimirdolzhenko/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":151364374,"node_id":"MDU6TGFiZWwxNTEzNjQzNzQ=","url":"https://api.github.com/repos/elastic/elasticsearch/labels/:Distributed/Store","name":":Distributed/Store","color":"0e8a16","default":false},{"id":130371191,"node_id":"MDU6TGFiZWwxMzAzNzExOTE=","url":"https://api.github.com/repos/elastic/elasticsearch/labels/WIP","name":"WIP","color":"fef2c0","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/elastic/elasticsearch/pulls/34385/commits","review_comments_url":"https://api.github.com/repos/elastic/elasticsearch/pulls/34385/comments","review_comment_url":"https://api.github.com/repos/elastic/elasticsearch/pulls/comments{/number}","comments_url":"https://api.github.com/repos/elastic/elasticsearch/issues/34385/comments","statuses_url":"https://api.github.com/repos/elastic/elasticsearch/statuses/44cacf35889daecb79a9ad02afca097d5242422c","head":{"label":"vladimirdolzhenko:fix/34322","ref":"fix/34322","sha":"44cacf35889daecb79a9ad02afca097d5242422c","user":{"login":"vladimirdolzhenko","id":209440,"node_id":"MDQ6VXNlcjIwOTQ0MA==","avatar_url":"https://avatars0.githubusercontent.com/u/209440?v=4","gravatar_id":"","url":"https://api.github.com/users/vladimirdolzhenko","html_url":"https://github.com/vladimirdolzhenko","followers_url":"https://api.github.com/users/vladimirdolzhenko/followers","following_url":"https://api.github.com/users/vladimirdolzhenko/following{/other_user}","gists_url":"https://api.github.com/users/vladimirdolzhenko/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimirdolzhenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimirdolzhenko/subscriptions","organizations_url":"https://api.github.com/users/vladimirdolzhenko/orgs","repos_url":"https://api.github.com/users/vladimirdolzhenko/repos","events_url":"https://api.github.com/users/vladimirdolzhenko/events{/privacy}","received_events_url":"https://api.github.com/users/vladimirdolzhenko/received_events","type":"User","site_admin":false},"repo":{"id":128040633,"node_id":"MDEwOlJlcG9zaXRvcnkxMjgwNDA2MzM=","name":"elasticsearch","full_name":"vladimirdolzhenko/elasticsearch","private":false,"owner":{"login":"vladimirdolzhenko","id":209440,"node_id":"MDQ6VXNlcjIwOTQ0MA==","avatar_url":"https://avatars0.githubusercontent.com/u/209440?v=4","gravatar_id":"","url":"https://api.github.com/users/vladimirdolzhenko","html_url":"https://github.com/vladimirdolzhenko","followers_url":"https://api.github.com/users/vladimirdolzhenko/followers","following_url":"https://api.github.com/users/vladimirdolzhenko/following{/other_user}","gists_url":"https://api.github.com/users/vladimirdolzhenko/gists{/gist_id}","starred_url":"https://api.github.com/users/vladimirdolzhenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladimirdolzhenko/subscriptions","organizations_url":"https://api.github.com/users/vladimirdolzhenko/orgs","repos_url":"https://api.github.com/users/vladimirdolzhenko/repos","events_url":"https://api.github.com/users/vladimirdolzhenko/events{/privacy}","received_events_url":"https://api.github.com/users/vladimirdolzhenko/received_events","type":"User","site_admin":false},"html_url":"https://github.com/vladimirdolzhenko/elasticsearch","description":"Open Source, Distributed, RESTful Search Engine","fork":true,"url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch","forks_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/forks","keys_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/teams","hooks_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/hooks","issue_events_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/issues/events{/number}","events_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/events","assignees_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/assignees{/user}","branches_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/branches{/branch}","tags_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/tags","blobs_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/git/refs{/sha}","trees_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/statuses/{sha}","languages_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/languages","stargazers_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/stargazers","contributors_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/contributors","subscribers_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/subscribers","subscription_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/subscription","commits_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/commits{/sha}","git_commits_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/git/commits{/sha}","comments_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/comments{/number}","issue_comment_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/issues/comments{/number}","contents_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/contents/{+path}","compare_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/merges","archive_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/downloads","issues_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/issues{/number}","pulls_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/pulls{/number}","milestones_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/milestones{/number}","notifications_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/labels{/name}","releases_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/releases{/id}","deployments_url":"https://api.github.com/repos/vladimirdolzhenko/elasticsearch/deployments","created_at":"2018-04-04T09:35:32Z","updated_at":"2018-06-20T15:37:06Z","pushed_at":"2018-10-15T11:15:43Z","git_url":"git://github.com/vladimirdolzhenko/elasticsearch.git","ssh_url":"git@github.com:vladimirdolzhenko/elasticsearch.git","clone_url":"https://github.com/vladimirdolzhenko/elasticsearch.git","svn_url":"https://github.com/vladimirdolzhenko/elasticsearch","homepage":"https://www.elastic.co/products/elasticsearch","size":504199,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"elastic:master","ref":"master","sha":"4270085360302dc26700f228bf083f1594f81ade","user":{"login":"elastic","id":6764390,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY3NjQzOTA=","avatar_url":"https://avatars0.githubusercontent.com/u/6764390?v=4","gravatar_id":"","url":"https://api.github.com/users/elastic","html_url":"https://github.com/elastic","followers_url":"https://api.github.com/users/elastic/followers","following_url":"https://api.github.com/users/elastic/following{/other_user}","gists_url":"https://api.github.com/users/elastic/gists{/gist_id}","starred_url":"https://api.github.com/users/elastic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elastic/subscriptions","organizations_url":"https://api.github.com/users/elastic/orgs","repos_url":"https://api.github.com/users/elastic/repos","events_url":"https://api.github.com/users/elastic/events{/privacy}","received_events_url":"https://api.github.com/users/elastic/received_events","type":"Organization","site_admin":false},"repo":{"id":507775,"node_id":"MDEwOlJlcG9zaXRvcnk1MDc3NzU=","name":"elasticsearch","full_name":"elastic/elasticsearch","private":false,"owner":{"login":"elastic","id":6764390,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY3NjQzOTA=","avatar_url":"https://avatars0.githubusercontent.com/u/6764390?v=4","gravatar_id":"","url":"https://api.github.com/users/elastic","html_url":"https://github.com/elastic","followers_url":"https://api.github.com/users/elastic/followers","following_url":"https://api.github.com/users/elastic/following{/other_user}","gists_url":"https://api.github.com/users/elastic/gists{/gist_id}","starred_url":"https://api.github.com/users/elastic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elastic/subscriptions","organizations_url":"https://api.github.com/users/elastic/orgs","repos_url":"https://api.github.com/users/elastic/repos","events_url":"https://api.github.com/users/elastic/events{/privacy}","received_events_url":"https://api.github.com/users/elastic/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/elastic/elasticsearch","description":"Open Source, Distributed, RESTful Search Engine","fork":false,"url":"https://api.github.com/repos/elastic/elasticsearch","forks_url":"https://api.github.com/repos/elastic/elasticsearch/forks","keys_url":"https://api.github.com/repos/elastic/elasticsearch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/elastic/elasticsearch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/elastic/elasticsearch/teams","hooks_url":"https://api.github.com/repos/elastic/elasticsearch/hooks","issue_events_url":"https://api.github.com/repos/elastic/elasticsearch/issues/events{/number}","events_url":"https://api.github.com/repos/elastic/elasticsearch/events","assignees_url":"https://api.github.com/repos/elastic/elasticsearch/assignees{/user}","branches_url":"https://api.github.com/repos/elastic/elasticsearch/branches{/branch}","tags_url":"https://api.github.com/repos/elastic/elasticsearch/tags","blobs_url":"https://api.github.com/repos/elastic/elasticsearch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/elastic/elasticsearch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/elastic/elasticsearch/git/refs{/sha}","trees_url":"https://api.github.com/repos/elastic/elasticsearch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/elastic/elasticsearch/statuses/{sha}","languages_url":"https://api.github.com/repos/elastic/elasticsearch/languages","stargazers_url":"https://api.github.com/repos/elastic/elasticsearch/stargazers","contributors_url":"https://api.github.com/repos/elastic/elasticsearch/contributors","subscribers_url":"https://api.github.com/repos/elastic/elasticsearch/subscribers","subscription_url":"https://api.github.com/repos/elastic/elasticsearch/subscription","commits_url":"https://api.github.com/repos/elastic/elasticsearch/commits{/sha}","git_commits_url":"https://api.github.com/repos/elastic/elasticsearch/git/commits{/sha}","comments_url":"https://api.github.com/repos/elastic/elasticsearch/comments{/number}","issue_comment_url":"https://api.github.com/repos/elastic/elasticsearch/issues/comments{/number}","contents_url":"https://api.github.com/repos/elastic/elasticsearch/contents/{+path}","compare_url":"https://api.github.com/repos/elastic/elasticsearch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/elastic/elasticsearch/merges","archive_url":"https://api.github.com/repos/elastic/elasticsearch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/elastic/elasticsearch/downloads","issues_url":"https://api.github.com/repos/elastic/elasticsearch/issues{/number}","pulls_url":"https://api.github.com/repos/elastic/elasticsearch/pulls{/number}","milestones_url":"https://api.github.com/repos/elastic/elasticsearch/milestones{/number}","notifications_url":"https://api.github.com/repos/elastic/elasticsearch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/elastic/elasticsearch/labels{/name}","releases_url":"https://api.github.com/repos/elastic/elasticsearch/releases{/id}","deployments_url":"https://api.github.com/repos/elastic/elasticsearch/deployments","created_at":"2010-02-08T13:20:56Z","updated_at":"2018-10-15T10:45:28Z","pushed_at":"2018-10-15T11:15:48Z","git_url":"git://github.com/elastic/elasticsearch.git","ssh_url":"git@github.com:elastic/elasticsearch.git","clone_url":"https://github.com/elastic/elasticsearch.git","svn_url":"https://github.com/elastic/elasticsearch","homepage":"https://www.elastic.co/products/elasticsearch","size":518773,"stargazers_count":35226,"watchers_count":35226,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":11909,"mirror_url":null,"archived":false,"open_issues_count":1721,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":11909,"open_issues":1721,"watchers":35226,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/34385"},"html":{"href":"https://github.com/elastic/elasticsearch/pull/34385"},"issue":{"href":"https://api.github.com/repos/elastic/elasticsearch/issues/34385"},"comments":{"href":"https://api.github.com/repos/elastic/elasticsearch/issues/34385/comments"},"review_comments":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/34385/comments"},"review_comment":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/34385/commits"},"statuses":{"href":"https://api.github.com/repos/elastic/elasticsearch/statuses/44cacf35889daecb79a9ad02afca097d5242422c"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"vladimirdolzhenko"}}