{"action":"created","issue":{"url":"https://api.github.com/repos/cmu-db/peloton/issues/1326","repository_url":"https://api.github.com/repos/cmu-db/peloton","labels_url":"https://api.github.com/repos/cmu-db/peloton/issues/1326/labels{/name}","comments_url":"https://api.github.com/repos/cmu-db/peloton/issues/1326/comments","events_url":"https://api.github.com/repos/cmu-db/peloton/issues/1326/events","html_url":"https://github.com/cmu-db/peloton/pull/1326","id":316862195,"number":1326,"title":"Garbage collection fixes","user":{"login":"mbutrovich","id":6855576,"avatar_url":"https://avatars0.githubusercontent.com/u/6855576?v=4","gravatar_id":"","url":"https://api.github.com/users/mbutrovich","html_url":"https://github.com/mbutrovich","followers_url":"https://api.github.com/users/mbutrovich/followers","following_url":"https://api.github.com/users/mbutrovich/following{/other_user}","gists_url":"https://api.github.com/users/mbutrovich/gists{/gist_id}","starred_url":"https://api.github.com/users/mbutrovich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbutrovich/subscriptions","organizations_url":"https://api.github.com/users/mbutrovich/orgs","repos_url":"https://api.github.com/users/mbutrovich/repos","events_url":"https://api.github.com/users/mbutrovich/events{/privacy}","received_events_url":"https://api.github.com/users/mbutrovich/received_events","type":"User","site_admin":false},"labels":[{"id":325402872,"url":"https://api.github.com/repos/cmu-db/peloton/labels/do%20not%20merge","name":"do not merge","color":"e11d21","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-04-23T15:24:19Z","updated_at":"2018-05-05T21:14:08Z","closed_at":"2018-05-05T21:14:08Z","author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/cmu-db/peloton/pulls/1326","html_url":"https://github.com/cmu-db/peloton/pull/1326","diff_url":"https://github.com/cmu-db/peloton/pull/1326.diff","patch_url":"https://github.com/cmu-db/peloton/pull/1326.patch"},"body":"This PR resolves most of the issues identified in issue #1325. The summary of changes are:\r\n- Added a function to GCManager to allow unused ItemPointers to be returned without going through the entire Unlink and Reclaim process.\r\n- Modified TOTransactionManager to pass tombstones created by deletes to the GCManager.\r\n- Modified DataTable's Insert to return the ItemPointer to the GCManager in the case of a failed insert.\r\n- Modified DataTable's InsertIntoIndexes to iterate through indexes and remove inserted keys in the event of a failure.\r\n- Modified GCManager's Unlink function to clean indexes from garbage created by COMMIT_DELETE, COMMIT_UPDATE, and ABORT_UPDATE.\r\n- Added 14 tests to transaction_level_gc_manager_test.cpp to handle more complex GC scenarios. Currently 4 of these tests still fail for polluting indexes with old keys, but we believe this will require more significant changes at the execution layer to resolve. We believe we have resolved all of the tuple-level GC bugs and most of the index bugs. We have disabled the 4 check that fail and will open a new issue describing those scenarios only once this is merged.\r\n\r\nNote: significant changes to the GCManager are coming as part of our TileGroup-freeing branch, but we wanted to get these bug changes merge in based on the master branch first."},"comment":{"url":"https://api.github.com/repos/cmu-db/peloton/issues/comments/386835480","html_url":"https://github.com/cmu-db/peloton/pull/1326#issuecomment-386835480","issue_url":"https://api.github.com/repos/cmu-db/peloton/issues/1326","id":386835480,"user":{"login":"mbutrovich","id":6855576,"avatar_url":"https://avatars0.githubusercontent.com/u/6855576?v=4","gravatar_id":"","url":"https://api.github.com/users/mbutrovich","html_url":"https://github.com/mbutrovich","followers_url":"https://api.github.com/users/mbutrovich/followers","following_url":"https://api.github.com/users/mbutrovich/following{/other_user}","gists_url":"https://api.github.com/users/mbutrovich/gists{/gist_id}","starred_url":"https://api.github.com/users/mbutrovich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbutrovich/subscriptions","organizations_url":"https://api.github.com/users/mbutrovich/orgs","repos_url":"https://api.github.com/users/mbutrovich/repos","events_url":"https://api.github.com/users/mbutrovich/events{/privacy}","received_events_url":"https://api.github.com/users/mbutrovich/received_events","type":"User","site_admin":false},"created_at":"2018-05-05T21:14:08Z","updated_at":"2018-05-05T21:14:08Z","author_association":"NONE","body":"Closing since we are bringing these changes over to our tilegroup compaction PR for more eyes on it."}}
{"actor":{"display_login":"mbutrovich"}}