{"action":"created","issue":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6778","repository_url":"https://api.github.com/repos/cockroachdb/cockroach","labels_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6778/labels{/name}","comments_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6778/comments","events_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6778/events","html_url":"https://github.com/cockroachdb/cockroach/pull/6778","id":155578182,"number":6778,"title":"storage: change the GC to keep values within the GC interval","user":{"login":"mjibson","id":41181,"avatar_url":"https://avatars.githubusercontent.com/u/41181?v=3","gravatar_id":"","url":"https://api.github.com/users/mjibson","html_url":"https://github.com/mjibson","followers_url":"https://api.github.com/users/mjibson/followers","following_url":"https://api.github.com/users/mjibson/following{/other_user}","gists_url":"https://api.github.com/users/mjibson/gists{/gist_id}","starred_url":"https://api.github.com/users/mjibson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjibson/subscriptions","organizations_url":"https://api.github.com/users/mjibson/orgs","repos_url":"https://api.github.com/users/mjibson/repos","events_url":"https://api.github.com/users/mjibson/events{/privacy}","received_events_url":"https://api.github.com/users/mjibson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"tschottdorf","id":5076964,"avatar_url":"https://avatars.githubusercontent.com/u/5076964?v=3","gravatar_id":"","url":"https://api.github.com/users/tschottdorf","html_url":"https://github.com/tschottdorf","followers_url":"https://api.github.com/users/tschottdorf/followers","following_url":"https://api.github.com/users/tschottdorf/following{/other_user}","gists_url":"https://api.github.com/users/tschottdorf/gists{/gist_id}","starred_url":"https://api.github.com/users/tschottdorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tschottdorf/subscriptions","organizations_url":"https://api.github.com/users/tschottdorf/orgs","repos_url":"https://api.github.com/users/tschottdorf/repos","events_url":"https://api.github.com/users/tschottdorf/events{/privacy}","received_events_url":"https://api.github.com/users/tschottdorf/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2016-05-18T19:06:59Z","updated_at":"2016-05-18T19:22:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cockroachdb/cockroach/pulls/6778","html_url":"https://github.com/cockroachdb/cockroach/pull/6778","diff_url":"https://github.com/cockroachdb/cockroach/pull/6778.diff","patch_url":"https://github.com/cockroachdb/cockroach/pull/6778.patch"},"body":"Time travel queries (#5963) will need to be able to request data from the\r\nMVCC layer for anytime within the GC interval. As a first change, modify\r\nthe GC to keep all values within the GC interval. This means we must now\r\nkeep any value that was valid for any time during the GC. A deleted value\r\nis the exception: if the most recent value is deleted and it is outside\r\nthe GC window, it is marked for GC.\r\n\r\nFurther changes will record this valid GC window per replica and enforce\r\nthat reads are not done outside of it.\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"35\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/cockroachdb/cockroach/6778)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/comments/220131103","html_url":"https://github.com/cockroachdb/cockroach/pull/6778#issuecomment-220131103","issue_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/6778","id":220131103,"user":{"login":"tschottdorf","id":5076964,"avatar_url":"https://avatars.githubusercontent.com/u/5076964?v=3","gravatar_id":"","url":"https://api.github.com/users/tschottdorf","html_url":"https://github.com/tschottdorf","followers_url":"https://api.github.com/users/tschottdorf/followers","following_url":"https://api.github.com/users/tschottdorf/following{/other_user}","gists_url":"https://api.github.com/users/tschottdorf/gists{/gist_id}","starred_url":"https://api.github.com/users/tschottdorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tschottdorf/subscriptions","organizations_url":"https://api.github.com/users/tschottdorf/orgs","repos_url":"https://api.github.com/users/tschottdorf/repos","events_url":"https://api.github.com/users/tschottdorf/events{/privacy}","received_events_url":"https://api.github.com/users/tschottdorf/received_events","type":"User","site_admin":false},"created_at":"2016-05-18T19:22:18Z","updated_at":"2016-05-18T19:22:18Z","body":"the wording \"As a first change, modify the GC to keep all values within the GC interval\" is a bit misleading. How about\n\n> As a first change, modify the GC to return correct results for all reads with timestamps within the GC interval. This means we must now keep any value that was valid for any time during the GC, which in particular includes values with timestamps before the GC interval.\n\n\n\n---\n\nReview status: all files reviewed at latest revision, 5 unresolved discussions, all commit checks successful.\n\n---\n\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/cockroachdb/cockroach/6778#-:-KI4J7uiOe2y1G7QS3c2:760406493)*\n<!-- Sent from Reviewable.io -->\n"}}