You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Yao Xu (Code Review)" <ge...@cloudera.org> on 2019/07/09 03:20:58 UTC

[kudu-CR] KUDU-2823 Place tablet replicas based on dimension

Hello Tidy Bot, Alexey Serbin, Kudu Jenkins, Andrew Wong, Todd Lipcon, 

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

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

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

Change subject: KUDU-2823 Place tablet replicas based on dimension
......................................................................

KUDU-2823 Place tablet replicas based on dimension

When we add a new range to the fact table, we expect the newly
created tablet to be evenly distributed on each tablet server.

This is especially important when we use time as the range key.
The more recent the data, the hotter it gets. We expect hot tablets
on the cluster to be evenly distributed.

Unfortunately, after we add some new tablet servers to the cluster,
creating a new tablet replica will prioritize the new tablet server for
placement according to the current placement policy. This is because
we prefer to select tablet server which a smaller number of tablet
replicas. This will cause hot tablets to be concentrated on these new
tablet servers.

So, I added a new placement policy. When creating a new tablet replica,
we prefer to select tablet server which a smaller number of tablet
replicas in the dimension. You can set dimensions when creating tables
and adding partitions, this will ensure that the new tablets are evenly
distributed in the cluster based on dimension.

You can decide whether to use this feature by setting
'--master_place_tablet_replicas_based_on_dimension'.

Change-Id: I48a225e221eb42ef2f5489687e80a151d8dc1a42
---
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
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/placement_policy-test.cc
M src/kudu/master/placement_policy.cc
M src/kudu/master/placement_policy.h
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
M src/kudu/tablet/metadata.proto
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet_bootstrap-test.cc
M src/kudu/tablet/tablet_metadata.cc
M src/kudu/tablet/tablet_metadata.h
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tserver/heartbeater.cc
M src/kudu/tserver/mini_tablet_server.cc
M src/kudu/tserver/tablet_copy_client.cc
M src/kudu/tserver/tablet_server-test.cc
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/ts_tablet_manager-test.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
M src/kudu/tserver/tserver_admin.proto
31 files changed, 533 insertions(+), 76 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/32/13632/13
-- 
To view, visit http://gerrit.cloudera.org:8080/13632
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I48a225e221eb42ef2f5489687e80a151d8dc1a42
Gerrit-Change-Number: 13632
Gerrit-PatchSet: 13
Gerrit-Owner: Yao Xu <oc...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-Reviewer: Yao Xu <oc...@gmail.com>