[ https://issues.apache.org/jira/browse/KUDU-3476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17907123#comment-17907123 ]
derek.huang commented on KUDU-3476: ----------------------------------- Hi [~aserbin], Thanks for the info. I went through the code and found that it actually would work by merely removing the check for the number of tables in --tables flag when range rebalancing is enabled. Previously, when a non range partitioned table is passed in --tables, it will be treated like a table with a single range partition whose start key is an empty string. I have uploaded a patch allowing multiple tables in --tables flag. I also updated the output of table distribution details when range rebalancing is applied to to multiple tables with mixed partition schema. The patch is available at [https://gerrit.cloudera.org/#/c/22239/] . Could you please take a look? Thanks. > Make replica placement range and table aware > -------------------------------------------- > > Key: KUDU-3476 > URL: https://issues.apache.org/jira/browse/KUDU-3476 > Project: Kudu > Issue Type: New Feature > Components: master, tserver > Reporter: Mahesh Reddy > Assignee: Mahesh Reddy > Priority: Major > Fix For: 1.17.0 > > > The current replica placement algorithm uses the power of two choices > algorithm. This algorithm randomly selects tservers and places the replica on > the tserver with less replicas. This can lead to potential hotspotting as it > doesn't discriminate by range or table so many tablets from the same > range/table can be disproportionally distributed. > With this new feature, the replicas will be placed in a way that the tablets > per range will be equally distributed amongst the available tservers. If > multiple tservers have the same amount of replicas per range, then the > tserver with less replicas for that table will be selected. If multiple > tservers have the same amount of replicas for that table, the tserver with > less total replicas will be chosen. -- This message was sent by Atlassian Jira (v8.20.10#820010)