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 <ocla...@gmail.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Yao Xu <ocla...@gmail.com>