Andrew Wong has uploaded this change for review. ( http://gerrit.cloudera.org:8080/15145
Change subject: WIP KUDU-1625: background op to GC ancient, empty rowsets ...................................................................... WIP KUDU-1625: background op to GC ancient, empty rowsets This adds an experimental background op that deletes disk rowsets that have had all of their rows deleted. Only rowsets that meet the following criteria are considered for deletion: - For the sake of simplicity on bootstrap, the rowset should not have a DMS. I don't see a clear way to rebuild a DMS if the underlying DRS has been deleted. - The most recent update to the rowset must be later than the ancient history mark. It'd be nice if we could have the policy work for rowsets that are mostly deleted, but such a solution would come with difficult questions around write amplification and compatibility with the existing compactions strategies. At the very least, this patch should make the behavior less surprising in some delete-heavy workloads. WIP: - collect feedback - add tests Change-Id: I696e2a29ea52ad4e54801b495c322bc371787124 --- M src/kudu/tablet/delta_tracker.cc M src/kudu/tablet/delta_tracker.h M src/kudu/tablet/diskrowset.cc M src/kudu/tablet/diskrowset.h M src/kudu/tablet/memrowset.h M src/kudu/tablet/mock-rowsets.h M src/kudu/tablet/rowset.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_mm_ops.cc M src/kudu/tablet/tablet_mm_ops.h 12 files changed, 272 insertions(+), 41 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/45/15145/1 -- To view, visit http://gerrit.cloudera.org:8080/15145 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I696e2a29ea52ad4e54801b495c322bc371787124 Gerrit-Change-Number: 15145 Gerrit-PatchSet: 1 Gerrit-Owner: Andrew Wong <[email protected]>
