Todd Lipcon has posted comments on this change.

Change subject: Don't output unobservable rows from the MemRowset
......................................................................


Patch Set 9:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/4994/9//COMMIT_MSG
Commit Message:

Line 28: for the row.
still not 100% sure I understand the issue here. Here's what I think the state 
would look like:

DRS1 (original flushed MRS):
  undos: delete @ 1
  base: v1
  redos: delete @ 3

MRS2 in memory:
  undo: delete @ 3
  base: v2
  redo: delete @ 3
  redo: reinsert v3 @ 3
  redo: delete @ 3

After flushing MRS2, becomes DRS2:
  undo: delete @ 3
  undo: reinsert v2 @ 3
  undo: delete @ 3
  base: v3
  redo: delete @ 3

<-- gc runs, AHM = 3-->

compaction input:
DRS1:
  base: v1
  redos: delete @ 3
  
DRS2:
  undo: delete @ 3
  undo: reinsert v2 @ 3
  undo: delete @ 3
  base: v3
  redo: delete @ 3
  

any scan at time=2 would be rejected (< AHM).
any scan at time=3 would know not to show the row regardless which order the 
compaction merges these deltas, right?

The included test seems like a good unit test that the change is implemented as 
described, but would be nicer to have a scenario using the higher-level APIs 
that can recreate this issue to illustrate it more clearly


-- 
To view, visit http://gerrit.cloudera.org:8080/4994
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ieab52a1aa68494218f91f3acd31ef8ddf352bd57
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves <[email protected]>
Gerrit-Reviewer: David Ribeiro Alves <[email protected]>
Gerrit-Reviewer: Jean-Daniel Cryans <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <[email protected]>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-HasComments: Yes

Reply via email to