You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by "Todd Lipcon (Code Review)" <ge...@cloudera.org> on 2016/05/13 23:25:30 UTC

[kudu-CR] WIP: dont rewrite log on bootstrap

Todd Lipcon has uploaded a new change for review.

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

Change subject: WIP: dont rewrite log on bootstrap
......................................................................

WIP: dont rewrite log on bootstrap

I've been working on speeding up tablet bootstrap, and it dawned on me
that I couldn't really remember why we fully rewrite the logs on every
startup. The logic was something around the idea that a COMMIT message
on replay may be different than the original commit message, but
my intuition now is that, although this is true, it would never actually
affect whether or not the message should be replayed.

I'm not 100% sure of this, but on a quick test run, it seemed to be the
case. This should substantially speed up log replay: we still need to
read the logs, but at least we don't need to rewrite them all.

It would be better gains to somehow avoid reading segments
entirely, but not 100% sure how to do that in a way that doesn't
introduce weird cyclic dependencies and potential races.

WIP: should still rebuild log index
also need to think very carefully about mutations/inserts that are into
rowsets being flushed

Change-Id: Ieb904afa085a668861f8bd62bb1e2526617311aa
---
M src/kudu/tablet/metadata.proto
M src/kudu/tablet/tablet_bootstrap.cc
2 files changed, 23 insertions(+), 144 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/71/3071/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3071
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ieb904afa085a668861f8bd62bb1e2526617311aa
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <to...@apache.org>