feat: Optimising container deployment logs #850

This commit is contained in:
tjq 2024-03-01 21:52:10 +08:00
parent 86ec85331a
commit 9d95d4ce04

View File

@ -317,40 +317,39 @@ public class ContainerService {
.collect(Collectors.toSet()); .collect(Collectors.toSet());
Set<String> deployedList = Sets.newLinkedHashSet(); Set<String> deployedList = Sets.newLinkedHashSet();
List<String> unDeployedList = Lists.newLinkedList(); Multimap<String, DeployedContainerInfo> version2DeployedContainerInfoList = ArrayListMultimap.create();
Multimap<String, String> version2Address = ArrayListMultimap.create();
infoList.forEach(info -> { infoList.forEach(info -> {
String targetWorkerAddress = info.getWorkerAddress(); String targetWorkerAddress = info.getWorkerAddress();
if (aliveWorkers.contains(targetWorkerAddress)) { if (aliveWorkers.contains(targetWorkerAddress)) {
deployedList.add(targetWorkerAddress); deployedList.add(targetWorkerAddress);
version2Address.put(info.getVersion(), targetWorkerAddress); version2DeployedContainerInfoList.put(info.getVersion(), info);
}else {
unDeployedList.add(targetWorkerAddress);
} }
}); });
Set<String> unDeployedList = Sets.newHashSet(aliveWorkers);
unDeployedList.removeAll(deployedList);
StringBuilder sb = new StringBuilder("========== DeployedInfo ==========").append(System.lineSeparator()); StringBuilder sb = new StringBuilder("========== DeployedInfo ==========").append(System.lineSeparator());
// 集群分裂各worker版本不统一问题很大 // 集群分裂各worker版本不统一问题很大
if (version2Address.keySet().size() > 1) { if (version2DeployedContainerInfoList.keySet().size() > 1) {
sb.append("WARN: there exists multi version container now, please redeploy to fix this problem").append(System.lineSeparator()); sb.append("WARN: there exists multi version container now, please redeploy to fix this problem").append(System.lineSeparator());
sb.append("divisive version ==> ").append(System.lineSeparator());
version2Address.forEach((v, addressList) -> {
sb.append("version: ").append(v).append(System.lineSeparator());
sb.append(addressList);
});
sb.append(System.lineSeparator());
} }
sb.append("divisive version ==> ").append(System.lineSeparator());
version2DeployedContainerInfoList.asMap().forEach((version, deployedContainerInfos) -> {
sb.append("[version] ").append(version).append(System.lineSeparator());
deployedContainerInfos.forEach(deployedContainerInfo -> sb.append(String.format("Address: %s, DeployedTime: %s", deployedContainerInfo.getWorkerAddress(), CommonUtils.formatTime(deployedContainerInfo.getDeployedTime()))).append(System.lineSeparator()));
});
// 当前在线未部署机器 // 当前在线未部署机器
if (!CollectionUtils.isEmpty(unDeployedList)) { if (!CollectionUtils.isEmpty(unDeployedList)) {
sb.append("WARN: there exists unDeployed worker(OhMyScheduler will auto fix when some job need to process)").append(System.lineSeparator()); sb.append("WARN: there exists unDeployed worker(PowerJob will auto fix when some job need to process)").append(System.lineSeparator());
sb.append("unDeployed worker list ==> ").append(System.lineSeparator()); sb.append("unDeployed worker list ==> ").append(unDeployedList).append(System.lineSeparator());
} }
// 当前部署机器
sb.append("deployed worker list ==> ").append(System.lineSeparator());
if (CollectionUtils.isEmpty(deployedList)) { if (CollectionUtils.isEmpty(deployedList)) {
sb.append("no worker deployed now~"); sb.append("no worker deployed this container now~");
}else {
sb.append(deployedList);
} }
return sb.toString(); return sb.toString();