def METHOD_NAME(self, replica_num, partition_num):
    assert len(case_conf.conf["components"]["tablet"]) > 2
    status, distribution = Util.gen_distribution(case_conf.conf["components"]["tablet"], replica_num, partition_num)
    assert status.OK()
    self.cursor.execute("create database if not exists test")
    self.cursor.execute("use test")
    table_name = "table" + str(random.randint(0, 10000))
    self.cursor.execute(f"create table if not exists {table_name} (col1 string, col2 string) options (DISTRIBUTION={distribution});")
    key_num = 50000
    for i in range(key_num):
        key = "key" + str(i)
        self.cursor.execute(f"insert into {table_name} values (\'{key}\', \'col2\')");
    result = self.cursor.execute(f"select * from {table_name}")
    data = result.fetchall()
    assert len(data) == key_num
    status, result = self.executor.GetTableInfo("test", "")
    assert status.OK()
    endpoints = set()
    for item in result:
        endpoints.add(item[3])
        assert item[5] == "yes"
    assert len(endpoints) == len(case_conf.conf["components"]["tablet"])
    assert self.execute_scale("scalein", case_conf.conf["components"]["tablet"][0]).OK()
    status, result = self.executor.GetTableInfo("test", "")
    assert status.OK()
    endpoints = set()
    for item in result:
        endpoints.add(item[3])
        assert item[5] == "yes"
    assert len(endpoints) == len(case_conf.conf["components"]["tablet"]) - 1
    assert case_conf.conf["components"]["tablet"][0] not in endpoints
    self.cursor.execute(f"drop table {table_name}")