{"action":"created","issue":{"url":"https://api.github.com/repos/basho/riak_ensemble/issues/64","labels_url":"https://api.github.com/repos/basho/riak_ensemble/issues/64/labels{/name}","comments_url":"https://api.github.com/repos/basho/riak_ensemble/issues/64/comments","events_url":"https://api.github.com/repos/basho/riak_ensemble/issues/64/events","html_url":"https://github.com/basho/riak_ensemble/pull/64","id":66217116,"number":64,"title":"Avoid writing tombstones on notfound reads when possible","user":{"login":"nickelization","id":4108538,"avatar_url":"https://avatars.githubusercontent.com/u/4108538?v=3","gravatar_id":"","url":"https://api.github.com/users/nickelization","html_url":"https://github.com/nickelization","followers_url":"https://api.github.com/users/nickelization/followers","following_url":"https://api.github.com/users/nickelization/following{/other_user}","gists_url":"https://api.github.com/users/nickelization/gists{/gist_id}","starred_url":"https://api.github.com/users/nickelization/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nickelization/subscriptions","organizations_url":"https://api.github.com/users/nickelization/orgs","repos_url":"https://api.github.com/users/nickelization/repos","events_url":"https://api.github.com/users/nickelization/events{/privacy}","received_events_url":"https://api.github.com/users/nickelization/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-04-03T19:46:34Z","updated_at":"2015-04-17T15:32:57Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/basho/riak_ensemble/pulls/64","html_url":"https://github.com/basho/riak_ensemble/pull/64","diff_url":"https://github.com/basho/riak_ensemble/pull/64.diff","patch_url":"https://github.com/basho/riak_ensemble/pull/64.patch"},"body":"This PR introduces an optimization into riak_ensemble that tries to avoid writing tombstones when possible on reads that return notfound. Normally, reads that return notfound require a tombstone to be written in case there's a partial write somewhere in the ensemble that hasn't been read yet. If we wait an extra, say, 1ms though, then it's very likely we will see replies from every peer in the ensemble, in which case we can definitively see whether any partial writes exist or not, and potentially avoid the need to write a tombstone.\r\n"},"comment":{"url":"https://api.github.com/repos/basho/riak_ensemble/issues/comments/94010175","html_url":"https://github.com/basho/riak_ensemble/pull/64#issuecomment-94010175","issue_url":"https://api.github.com/repos/basho/riak_ensemble/issues/64","id":94010175,"user":{"login":"andrewjstone","id":466937,"avatar_url":"https://avatars.githubusercontent.com/u/466937?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewjstone","html_url":"https://github.com/andrewjstone","followers_url":"https://api.github.com/users/andrewjstone/followers","following_url":"https://api.github.com/users/andrewjstone/following{/other_user}","gists_url":"https://api.github.com/users/andrewjstone/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewjstone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewjstone/subscriptions","organizations_url":"https://api.github.com/users/andrewjstone/orgs","repos_url":"https://api.github.com/users/andrewjstone/repos","events_url":"https://api.github.com/users/andrewjstone/events{/privacy}","received_events_url":"https://api.github.com/users/andrewjstone/received_events","type":"User","site_admin":false},"created_at":"2015-04-17T15:32:57Z","updated_at":"2015-04-17T15:32:57Z","body":":+1: 26f36dc\r\n"}}