Skip to content

Commit c5ab357

Browse files
authored
Merge pull request #1020 from ctripcorp/bugfix/cluster_cache
TooManyClustersRemovedException add clusterRemoved > 5 roles
2 parents 6caca74 + cca2f08 commit c5ab357

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

redis/redis-console/src/main/java/com/ctrip/xpipe/redis/console/resources/AbstractMetaCache.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -702,7 +702,8 @@ private void checkDcClustersCnt(DcMeta currentDcMeta, DcMeta futureDcMeta, int m
702702

703703
int currentClusterCount = currentDcMeta.getClusters().size();
704704
int futureClusterCount = futureDcMeta.getClusters().size();
705-
if ((currentClusterCount - futureClusterCount) > currentClusterCount * maxRemovedClusterPercent / 100)
705+
int clusterRemoved = currentClusterCount - futureClusterCount;
706+
if ((clusterRemoved) > currentClusterCount * maxRemovedClusterPercent / 100 && clusterRemoved > 5)
706707
throw new TooManyClustersRemovedException(String.format("dc:%s, current cluster count:%d,future cluster count:%d", currentDcMeta.getId(), currentClusterCount, futureClusterCount));
707708
}
708709

redis/redis-console/src/test/java/com/ctrip/xpipe/redis/console/resources/DefaultMetaCacheTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ public void checkDcsCntTest() {
328328
public void checkClustersCntTest() {
329329
//removed too many clusters
330330
XpipeMeta currentMeta = new XpipeMeta();
331-
currentMeta.addDc(new DcMeta("dc1").addCluster(new ClusterMeta("cluster1")).addCluster(new ClusterMeta("cluster2")).addCluster(new ClusterMeta("cluster3")))
331+
currentMeta.addDc(new DcMeta("dc1").addCluster(new ClusterMeta("cluster1")).addCluster(new ClusterMeta("cluster2")).addCluster(new ClusterMeta("cluster3")).addCluster(new ClusterMeta("cluster4")).addCluster(new ClusterMeta("cluster5")).addCluster(new ClusterMeta("cluster6")).addCluster(new ClusterMeta("cluster7")))
332332
.addDc(new DcMeta("dc2").addCluster(new ClusterMeta("cluster1")));
333333

334334

@@ -345,7 +345,7 @@ public void checkClustersCntTest() {
345345
Assert.assertTrue(th instanceof TooManyClustersRemovedException);
346346
}
347347
try {
348-
metaCache.checkMeta(futureMeta, 1, 80);
348+
metaCache.checkMeta(futureMeta, 1, 90);
349349
} catch (Throwable th) {
350350
Assert.fail();
351351
}

0 commit comments

Comments
 (0)