Adar Dembo has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/13412 )

Change subject: KUDU-2826: Add tail for mutation list to accelerate update in 
memrowset
......................................................................

KUDU-2826: Add tail for mutation list to accelerate update in memrowset

We found kudu needs traversing the whole mutation list to find
tail to append the new mutations when UPDATE or REINSERT in
memrowset. And it cost considerable time when we update the same
key tens of thousands times(We encountered this case in production
environment).

We do YCSB results here for a zipfian update workload before and after change.
Workload:
    recordcount=1000
    operationcount=1000000
    workload=com.yahoo.ycsb.workloads.CoreWorkload
    readallfields=true
    readproportion=0.2
    updateproportion=0.8
    scanproportion=0
    insertproportion=0
    requestdistribution=zipfian

The performance before:
    Update success: 800304,
    AverageLatency(us): 93.81846898178692,
    MinLatency(us): 1,
    MaxLatency(us): 837631,
    95thPercentileLatency(us): 6
    99thPercentileLatency(us):12

The performance after:
    Update success: 800153,
    AverageLatency(us): 4.785403541572674,
    MinLatency(us): 1,
    MaxLatency(us): 92287,
    95thPercentileLatency(us): 6
    99thPercentileLatency(us): 11

Change-Id: I945f332f8241ecb3cc6ab66e67ee3ee2b4e49be8
Reviewed-on: http://gerrit.cloudera.org:8080/13412
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo <[email protected]>
---
M src/kudu/tablet/memrowset-test.cc
M src/kudu/tablet/memrowset.cc
M src/kudu/tablet/memrowset.h
M src/kudu/tablet/mutation.cc
M src/kudu/tablet/mutation.h
5 files changed, 84 insertions(+), 47 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Adar Dembo: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I945f332f8241ecb3cc6ab66e67ee3ee2b4e49be8
Gerrit-Change-Number: 13412
Gerrit-PatchSet: 6
Gerrit-Owner: ZhangYao <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Yao Xu <[email protected]>
Gerrit-Reviewer: ZhangYao <[email protected]>

Reply via email to