{"action":"created","issue":{"url":"https://api.github.com/repos/elastic/elasticsearch/issues/22212","repository_url":"https://api.github.com/repos/elastic/elasticsearch","labels_url":"https://api.github.com/repos/elastic/elasticsearch/issues/22212/labels{/name}","comments_url":"https://api.github.com/repos/elastic/elasticsearch/issues/22212/comments","events_url":"https://api.github.com/repos/elastic/elasticsearch/issues/22212/events","html_url":"https://github.com/elastic/elasticsearch/pull/22212","id":195955642,"number":22212,"title":"Tighten sequence numbers recovery","user":{"login":"jasontedor","id":4744941,"avatar_url":"https://avatars.githubusercontent.com/u/4744941?v=3","gravatar_id":"","url":"https://api.github.com/users/jasontedor","html_url":"https://github.com/jasontedor","followers_url":"https://api.github.com/users/jasontedor/followers","following_url":"https://api.github.com/users/jasontedor/following{/other_user}","gists_url":"https://api.github.com/users/jasontedor/gists{/gist_id}","starred_url":"https://api.github.com/users/jasontedor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasontedor/subscriptions","organizations_url":"https://api.github.com/users/jasontedor/orgs","repos_url":"https://api.github.com/users/jasontedor/repos","events_url":"https://api.github.com/users/jasontedor/events{/privacy}","received_events_url":"https://api.github.com/users/jasontedor/received_events","type":"User","site_admin":false},"labels":[{"id":288393673,"url":"https://api.github.com/repos/elastic/elasticsearch/labels/:Sequence%20IDs","name":":Sequence IDs","color":"009800","default":false},{"id":94283388,"url":"https://api.github.com/repos/elastic/elasticsearch/labels/review","name":"review","color":"0052cc","default":false},{"id":334286612,"url":"https://api.github.com/repos/elastic/elasticsearch/labels/v6.0.0","name":"v6.0.0","color":"dddddd","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-12-16T00:52:26Z","updated_at":"2016-12-17T12:35:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/elastic/elasticsearch/pulls/22212","html_url":"https://github.com/elastic/elasticsearch/pull/22212","diff_url":"https://github.com/elastic/elasticsearch/pull/22212.diff","patch_url":"https://github.com/elastic/elasticsearch/pull/22212.patch"},"body":"This commit touches addresses issues related to recovery and sequence numbers:\r\n - A sequence number can be assigned and a Lucene commit created with a\r\n   maximum sequence number at least as large as that sequence number,\r\n   yet the operation corresponding to that sequence number can be\r\n   missing from both the Lucene commit and the translog. This means that\r\n   upon recovery the local checkpoint will be stuck at or below this\r\n   missing sequence number. To address this, we force the local\r\n   checkpoint to the maximum sequence number in the Lucene commit when\r\n   opening the engine. Note that there can still be gaps in the history\r\n   in the translog but we do not address those here.\r\n - The global checkpoint is transferred to the target shard at the end\r\n   of peer recovery.\r\n - Additionally, we reenable the relocation integration tests.\r\n\r\nLastly, this work uncovered some bugs in the assignment of sequence\r\nnumbers on replica operations:\r\n - setting the sequence number on replica write requests was missing,\r\n   very likely introduced as a result of resolving merge conflicts\r\n - handling operations that arrive out of order on a replica and have a\r\n   version conflict with a previous operation were never marked as\r\n   processed\r\n\r\nRelates #10708"},"comment":{"url":"https://api.github.com/repos/elastic/elasticsearch/issues/comments/267760492","html_url":"https://github.com/elastic/elasticsearch/pull/22212#issuecomment-267760492","issue_url":"https://api.github.com/repos/elastic/elasticsearch/issues/22212","id":267760492,"user":{"login":"jasontedor","id":4744941,"avatar_url":"https://avatars.githubusercontent.com/u/4744941?v=3","gravatar_id":"","url":"https://api.github.com/users/jasontedor","html_url":"https://github.com/jasontedor","followers_url":"https://api.github.com/users/jasontedor/followers","following_url":"https://api.github.com/users/jasontedor/following{/other_user}","gists_url":"https://api.github.com/users/jasontedor/gists{/gist_id}","starred_url":"https://api.github.com/users/jasontedor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasontedor/subscriptions","organizations_url":"https://api.github.com/users/jasontedor/orgs","repos_url":"https://api.github.com/users/jasontedor/repos","events_url":"https://api.github.com/users/jasontedor/events{/privacy}","received_events_url":"https://api.github.com/users/jasontedor/received_events","type":"User","site_admin":false},"created_at":"2016-12-17T12:35:50Z","updated_at":"2016-12-17T12:35:50Z","body":"Thanks @bleskes, I've responded to your feedback."}}
{"actor":{"display_login":"jasontedor"}}