David Ribeiro Alves has uploaded a new change for review. http://gerrit.cloudera.org:8080/4994
Change subject: WIP: Don't output unobservable rows from the MemRowset ...................................................................... WIP: Don't output unobservable rows from the MemRowset In some rare cases we might have a row that is inserted and deleted in the same operation, meaning the insert and delete have the same timestamp. In this rare case we might run into trouble later on with compactions as there is a sequence of operations that that produce two ghost rows which are uncomparable in terms of recency. The sequence is as follows: Insert Row at 1 Delete Row at 3 Flush - Ghost 1 now lives in RS1 Insert Row at 3 Delete Row at 3 Flush - Ghost 2 now lives in RS2 Major delta compact RS1 - GC all before 3 Major delta compact RS2 - GC all before 3 If RS1 and RS2 now get compacted together there is no way to distinguish Ghost 1 from Ghost 2 and to build a correct history for the row. WIP as this is missing a small directed test. Change-Id: Ieab52a1aa68494218f91f3acd31ef8ddf352bd57 --- M src/kudu/tablet/compaction.cc 1 file changed, 45 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/94/4994/1 -- To view, visit http://gerrit.cloudera.org:8080/4994 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ieab52a1aa68494218f91f3acd31ef8ddf352bd57 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: David Ribeiro Alves <dral...@apache.org>