我在JBoss论坛上复制了以下问题.我们面临同样的问题.
这是我的场景:
我只有一个DIST_SYNC缓存,集群中的大多数JVM都配置了capacityFactor = 0(类似于distibutedlocalstorage=falseCoherence 的属性),并且某些节点配置了capacityFactor>0(例如1000).我们谈论的是100个节点和capacityFactor=0另外4个节点,其中集群是一个单独的"站点/机架".分区处理已关闭,numOwners为1.
当所有节点capacityFactor > 0都关闭时,群集将进入降级状态,如果没有完整的群集重新启动,它将无法再恢复.
如果我启用分区处理,那么可以抛出有效的异常,我认为是预期的行为(Infinispan用户指南).
我认为这是问题,这是一个错误:
14/11/17 09:27:25 WARN topology.CacheTopologyControlCommand:ISPN000071:处理命令时遇到异常CacheTopologyControlCommand {cache = shared,type = JOIN,sender = testserver1 @ xxxxxxx-22311,site-id = xxx,rack-id = xxx,machine-id = 24字节,joinInfo = CacheJoinInfo {consistentHashFactory =org.infinispan.distribution.ch.impl.TopologyAwareConsistentHashFactory@78b791ef,hashFunction = MurmurHash3,numSegments = 60,numOwners = 1,timeout = 120000,totalOrder = false,distributed = true},topologyId = 0,rebalanceId = 0,currentCH = null,pendingCH = null,availabilityMode = null,throwable = null,viewId = 3}
java.lang.IllegalArgumentException:缓存拓扑的挂起一致性哈希必须包含所有当前一致哈希的成员
at org.infinispan.topology.CacheTopology.<init>(CacheTopology.java:48)
at org.infinispan.topology.CacheTopology.<init>(CacheTopology.java:43)
at org.infinispan.topology.ClusterCacheStatus.startQueuedRebalance(ClusterCacheStatus.java:631)
at org.infinispan.topology.ClusterCacheStatus.queueRebalance(ClusterCacheStatus.java:85)
at …Run Code Online (Sandbox Code Playgroud)