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]>

Reply via email to