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...@ip-10-146-233-104.ec2.internal> on 2016/01/23 02:41:59 UTC

[kudu-CR] WIP: Spread creation of new tablets more randomly

Hello Internal Jenkins,

I'd like you to reexamine a change.  Please visit

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

to look at the new patch set (#4).

Change subject: WIP: Spread creation of new tablets more randomly
......................................................................

WIP: Spread creation of new tablets more randomly

This switches the assignment of new tablets on the cluster
from being a pure round-robin to instead use the "power-of-two-choices"
algorithm. In this algorith, each time we need to select a replica location,
we sample a random two nodes in the cluster, and choose whichever of those
has fewer tablets already on it.

This patch aims to solve a problem we're seeing with the round-robin
strategy where recovery is not well parallelized. Because of round-robin,
each tablet server only shares replicas with its "adjacent" nodes in the
round robin ring. So, if a server crashes, at most 4 other servers can
participate in recovery.

WIP patch - maybe too hacky in current impl, but worth looking at.

Change-Id: I8a27c2ed52b49baeffb309ebecd3d58192eaeec6
---
M src/kudu/integration-tests/create-table-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
M src/kudu/util/random-test.cc
M src/kudu/util/random.h
11 files changed, 261 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/54/1654/4
-- 
To view, visit http://gerrit.cloudera.org:8080/1654
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8a27c2ed52b49baeffb309ebecd3d58192eaeec6
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <to...@apache.org>
Gerrit-Reviewer: Binglin Chang <de...@gmail.com>
Gerrit-Reviewer: Internal Jenkins
Gerrit-Reviewer: Jean-Daniel Cryans
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>