Hello Todd Lipcon,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/3076

to look at the new patch set (#5).

Change subject: WIP: KUDU-236. Implement tablet history GC
......................................................................

WIP: KUDU-236. Implement tablet history GC

This patch defines the concept of an "ancient history mark" (AHM) and a
background job that removes history from disk that represents changes
occurring prior to the ancient history mark.

There is also a mechanism to reject requests for scans if they attempt
to open a snapshot scan at a timestamp prior to the AHM.

Included tests:

* Tests for Undo GC via major delta compaction
* Test for entire-row GC via merging compaction

TODO in this patch:

1. Determine if major delta compaction should be able to remove DELETE
   UNDO records, since 2 tests currently rely on that occurring, but
   they currently fail.
2. Need test for opening scanner at TS=0 and rejecting that scanner at
   the RPC level.

Missing features (slated for future commit):

* No dedicated background task that only schedules and performs history GC

Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
---
M src/kudu/common/timestamp.h
M src/kudu/server/clock.h
M src/kudu/server/hybrid_clock.cc
M src/kudu/server/hybrid_clock.h
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/compaction-test.cc
M src/kudu/tablet/compaction.cc
M src/kudu/tablet/compaction.h
M src/kudu/tablet/delta_compaction.cc
M src/kudu/tablet/delta_compaction.h
M src/kudu/tablet/diskrowset.cc
M src/kudu/tablet/diskrowset.h
M src/kudu/tablet/mutation.h
M src/kudu/tablet/rowset_metadata.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet-test-base.h
M src/kudu/tablet/tablet-test-util.h
M src/kudu/tablet/tablet-test.cc
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
A src/kudu/tablet/tablet_history_gc-test.cc
M src/kudu/tserver/tablet_service.cc
22 files changed, 584 insertions(+), 135 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/76/3076/5
-- 
To view, visit http://gerrit.cloudera.org:8080/3076
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>

Reply via email to