in manager/dm-server/src/main/java/org/apache/doris/stack/component/DorisManagerUserSpaceComponent.java [190:237]
public ClusterInfoEntity validateCluster(ClusterCreateReq createReq) throws Exception {
log.debug("validate palo cluster info.");
checkRequestBody(createReq.hasEmptyField());
log.info("Verify that the Palo cluster already exists.");
List<ClusterInfoEntity> exsitEntities =
clusterInfoRepository.getByAddressAndPort(createReq.getAddress(), createReq.getHttpPort());
if (exsitEntities != null && exsitEntities.size() != 0) {
log.error("The palo cluster {} is already associated with space.", createReq.getAddress() + ":"
+ createReq.getHttpPort());
throw new DorisSpaceDuplicatedException();
}
log.info("Verify that the Palo cluster is available");
ClusterInfoEntity entity = new ClusterInfoEntity();
entity.updateByClusterInfo(createReq);
// encrypt passwd
entity.setPasswd(CredsUtil.aesEncrypt(entity.getPasswd()));
// Just verify whether the Doris HTTP interface can be accessed
try {
paloLoginClient.loginPalo(entity);
} catch (Exception e) {
log.error("Doris cluster http access error.");
if (e.getMessage().contains("nodename nor servname provided, or not known")) {
throw new DorisIpErrorException();
} else if (e.getMessage().contains("failed: Connection refused (Connection refused)")) {
throw new DorisHttpPortErrorException();
} else if (e.getMessage().contains("Login palo error:Access denied for default_cluster")) {
throw new DorisUserNoPermissionException();
} else if (e.getMessage().contains("Login palo error:Access denied")) {
throw new DorisUerOrPassErrorException();
}
throw new DorisConnectionException(e.getMessage());
}
// Just verify whether the Doris JDBC protocol can be accessed
try {
jdbcClient.testConnetion(createReq.getAddress(), createReq.getQueryPort(),
ConstantDef.MYSQL_DEFAULT_SCHEMA, createReq.getUser(), createReq.getPasswd());
log.debug("Doris cluster jdbc access success.");
} catch (Exception e) {
log.error("Doris cluster jdbc access error.");
throw new DorisJdbcPortErrorException();
}
// The manager function is enabled by default
entity.setManagerEnable(true);
return entity;
}