Skip to content

Commit 807df4a

Browse files
passerbyzedyifuzhou
andauthored
修复checker检测keeperContainer时的一个bug (ctripcorp#767)
Co-authored-by: yifuzhou <[email protected]>
1 parent f9bb25f commit 807df4a

File tree

1 file changed

+8
-17
lines changed

1 file changed

+8
-17
lines changed

redis/redis-checker/src/main/java/com/ctrip/xpipe/redis/checker/impl/KeeperContainerInfoReporter.java

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -107,25 +107,16 @@ public void notLeader() {
107107
public void reportKeeperContainerInfo() {
108108
try {
109109
logger.debug("[reportKeeperContainerInfo] start");
110-
Map<String, Map<DcClusterShardActive, Long>> hostPort2InputFlow = keeperFlowCollector.getHostPort2InputFlow();
110+
Map<String, Map<DcClusterShardActive, Long>> collectedInfos = keeperFlowCollector.getHostPort2InputFlow();
111+
Map<String, Map<DcClusterShardActive, Long>> hostPort2InputFlow = new HashMap<>();
111112
for (DcMeta dcMeta : metaCache.getXpipeMeta().getDcs().values()) {
112-
if (CURRENT_IDC.equalsIgnoreCase(dcMeta.getId())) {
113-
List<String> ipList = dcMeta.getKeeperContainers().stream()
114-
.map(KeeperContainerMeta::getIp)
115-
.collect(Collectors.toList());
116-
logger.info("[reportKeeperContainerInfo] current monitor keeperContainer:{}", ipList);
117-
dcMeta.getKeeperContainers().forEach(keeperContainerMeta -> {
118-
if(!hostPort2InputFlow.containsKey(keeperContainerMeta.getIp())) {
119-
hostPort2InputFlow.put(keeperContainerMeta.getIp(), new ConcurrentHashMap<>());
120-
}
121-
});
122-
for (String ip : hostPort2InputFlow.keySet()) {
123-
if (!ipList.contains(ip)) {
124-
logger.warn("[reportKeeperContainerInfo] keeperContainer:{} is not exit in console meta", ip);
125-
hostPort2InputFlow.remove(ip);
126-
}
113+
dcMeta.getKeeperContainers().forEach(keeperContainerMeta -> {
114+
if (collectedInfos.containsKey(keeperContainerMeta.getIp())) {
115+
hostPort2InputFlow.put(keeperContainerMeta.getIp(), collectedInfos.get(keeperContainerMeta.getIp()));
116+
} else {
117+
hostPort2InputFlow.put(keeperContainerMeta.getIp(), new ConcurrentHashMap<>());
127118
}
128-
}
119+
});
129120
}
130121
Map<DcClusterShard, Long> dcClusterShardUsedMemory = redisUsedMemoryCollector.getDcClusterShardUsedMemory();
131122
List<KeeperContainerUsedInfoModel> result = new ArrayList<>(hostPort2InputFlow.keySet().size());

0 commit comments

Comments
 (0)