gpt4 book ai didi

jakarta-ee - 连贯性 : BackingMap is not resettable

转载 作者:行者123 更新时间:2023-12-04 18:13:58 24 4
gpt4 key购买 nike

我正在尝试以分布式模式设置一个 4 节点 Coherence 集群(其他配置基本上是默认配置),然后关闭其中一个节点并观察它如何平衡其余节点。对于我使用的关机

CacheFactory.destroyCache(myCache);
CacheFactory.shutdown();

应该关闭的节点一直在写:
Logger@9217551 3.7.1.0) (thread=DistributedCache, member=n/a): Remains to transfer before shutting down: 504 primary partitions, 0 backup partitions

但另一个节点(或有时更多)抛出此异常:
java.lang.IllegalArgumentException: BackingMap is not resettable: x
at com.tangosol.net.DefaultConfigurableCacheFactory$Manager.setBackingMap(DefaultConfigurableCacheFactory.java:4163)
at com.tangosol.net.DefaultConfigurableCacheFactory$Manager.instantiateBackingMap(DefaultConfigurableCacheFactory.java:4114)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.instantiateBackingMap(PartitionedCache.CDB:22)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.setCacheName(PartitionedCache.CDB:25)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.ensureStorage(PartitionedCache.CDB:5)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.receivePartition(PartitionedCache.CDB:11)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onFinalizePrimaryTransfer(PartitionedService.CDB:141)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService$Continuations$Continuation.proceed(PartitionedService.CDB:10)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$EventsHelper.onEntriesArrived(PartitionedCache.CDB:42)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$TransferControl.onReceiveStarted(PartitionedCache.CDB:19)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onTransferRequest(PartitionedService.CDB:76)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService$TransferRequest.onReceived(PartitionedService.CDB:1)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:34)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:33)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onNotify(PartitionedService.CDB:3)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onNotify(PartitionedCache.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:662)

我发现实际上 PartitionedCache$Storage还没有设置它的缓存名称( getCacheName() 在这个对象上返回 null)——这很糟糕,因为我不想实例化另一个支持映射——但我完全不知道是什么原因造成的,我应该如何配置它。

感谢任何(有用的)回复。

最佳答案

好的,我找到了。我正在使用 CacheFactory.destroyCache(...) 这会导致集群范围的缓存关闭。当我使用 CacheFactory.releaseCache(...) 然后 CacheFactory.shutdown() 它做了它应该做的。

关于jakarta-ee - 连贯性 : BackingMap is not resettable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12071244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com