Hello Zoltan Martonka, Kurt Deschler, Kudu Jenkins,

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

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

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

Change subject: [compaction] Major Delta Compaction batching to avoid OOM
......................................................................

[compaction] Major Delta Compaction batching to avoid OOM

The patch adds logic to do major delta compaction in batches
instead of processing all the delta blocks in one go. The batch
is defined by one or more row updates depending on how much space
those deltas consume in terms of blocks, mutations, maintaining
UNDO lists. For each batch, all the corresponding REDO deltas are
read and corresponding UNDO mutations are created to applied.
After all the delta blocks and their corresponding deltas are applied,
base data is committed.

Main highlights of this change are listed as:
1. Maintains last block pointer to the delta block that was read
   in the last batch.
2. Maintains the next row id to start from when next batch processing
   starts.
3. Keeps major delta compaction object's mode i.e. whether it is running
   in batch mode or normal mode (where no batching is done).
4. Maintains information whether all the delta blocks have been already
   read and processed. This denotes exit condition when running in batch
   mode.

Note: There are a couple of unit tests that I need to refine a little bit
      before pushing for review.

Change-Id: I111d613ec717534df9ba09e5660420b5d6c9fed0
---
M src/kudu/tablet/delta_compaction.cc
M src/kudu/tablet/delta_compaction.h
M src/kudu/tablet/delta_iterator_merger.cc
M src/kudu/tablet/delta_iterator_merger.h
M src/kudu/tablet/delta_store.h
M src/kudu/tablet/deltafile.cc
M src/kudu/tablet/deltafile.h
M src/kudu/tablet/deltamemstore.h
M src/kudu/tablet/diskrowset.cc
9 files changed, 452 insertions(+), 9 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I111d613ec717534df9ba09e5660420b5d6c9fed0
Gerrit-Change-Number: 22406
Gerrit-PatchSet: 5
Gerrit-Owner: Ashwani Raina <[email protected]>
Gerrit-Reviewer: Ashwani Raina <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Kurt Deschler <[email protected]>
Gerrit-Reviewer: Zoltan Martonka <[email protected]>

Reply via email to