David Ribeiro Alves has uploaded a new change for review. http://gerrit.cloudera.org:8080/4995
Change subject: KUDU-237 (part 2) - Add support for REINSERT in delta files ...................................................................... KUDU-237 (part 2) - Add support for REINSERT in delta files This patch goes the final mile in adding support for REINSERTs in delta files. It does various things to achieve this: - Transforms REDO DELETE/REINSERT mutation pairs into UNDO REINSERT/DELETE mutation pairs, leaving at the most a REDO delete. - Merges ghost rows on compaction: When duplicated rows are found a new algorithm finds out which one is the most recent and adds the other one as a 'previous_version'. This can happen for an arbitrary number of ghost rows. Of interest here is that this process requires a copy. Since the oldest ghost row is discarded from the compaction input we must make sure that its data survives until the most recent is compacted. This is done by copying the oldest to the youngest's arena. - Adds new test to tablet-test and changes a test in compaction-test proving that this works. Follow up patches will add new itests that test this functionality more broadly. Change-Id: Ie1173b2bea721b376f2b6049be20f57307582c47 --- M src/kudu/common/row_changelist.h M src/kudu/tablet/compaction-test.cc M src/kudu/tablet/compaction.cc M src/kudu/tablet/compaction.h M src/kudu/tablet/delta_store.cc M src/kudu/tablet/deltafile.cc M src/kudu/tablet/tablet-test.cc 7 files changed, 355 insertions(+), 117 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/95/4995/1 -- To view, visit http://gerrit.cloudera.org:8080/4995 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie1173b2bea721b376f2b6049be20f57307582c47 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: David Ribeiro Alves <dral...@apache.org>