2015-04-14 46 views
4

后我有两个服务器一个hazelcast集群,每个服务器上的两个节点。 我正在使用hazelcast jar,因此每次服务器重新启动时,每个服务器上的节点都会重新启动。每当两台服务器发生部署时,它们将以30秒的差异重新启动。 我有一个特定的实例,每次应用程序请求某个特定的数据时,都会引发此异常。 我正在使用MultiMap来缓存数据。获取com.hazelcast.spi.exception.PartitionMigratingException无限重启集群

Caused by: com.hazelcast.spi.exception.PartitionMigratingException: Partition is migrating! this:Address[app01]:5701, partitionId: 0, operation: com.hazelcast.map.impl.operation.PutOperation, service: hz:impl:mapService 
     at com.hazelcast.spi.impl.BasicOperationService$OperationHandler.ensureNoPartitionProblems(BasicOperationService.java:833) 
     at com.hazelcast.spi.impl.BasicOperationService$OperationHandler.handle(BasicOperationService.java:741) 
     at com.hazelcast.spi.impl.BasicOperationService$OperationHandler.access$500(BasicOperationService.java:725) 
     at com.hazelcast.spi.impl.BasicOperationService$BasicDispatcherImpl.dispatch(BasicOperationService.java:576) 
     at com.hazelcast.spi.impl.BasicOperationScheduler$OperationThread.process(BasicOperationScheduler.java:466) 
     at com.hazelcast.spi.impl.BasicOperationScheduler$OperationThread.doRun(BasicOperationScheduler.java:458) 
     at com.hazelcast.spi.impl.BasicOperationScheduler$OperationThread.run(BasicOperationScheduler.java:432) 

我看到其中的几个例外。

2015-04-10 14:51:03,403 WARN com.hazelcast.spi.impl.BasicInvocation - [app01]:5701 [dev] [3.4.2] Retrying invocation: BasicInvocation{ serviceName='hz:impl:mapService', op=PutOperation{alert-coms}, partitionId=0, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=100, callTimeout=60000, target=Address[app01]:5701, backupsExpected=0, backupsCompleted=0}, Reason: com.hazelcast.spi.exception.PartitionMigratingException: Partition is migrating! this:Address[app01]:5701, partitionId: 0, operation: com.hazelcast.map.impl.operation.PutOperation, service: hz:impl:mapService 

我所知,这是重试相同的操作引发了异常,但问题是该分区作业未完成了整个周末,直到我再次重新启动服务器。

请帮助我了解为什么发生这种情况,并可以采取什么措施来防止它。

谢谢。

回答

2

你不说你使用的是什么版本。我们知道分区迁移有一些问题。在3.7中,我们彻底改写了分区迁移方案。

所以尽量3.7。

+0

我使用Hazelcast 3.5.4。我会尝试升级到3.7。谢谢。 –

+0

我们有关于新分区迁移方案的技术设计文档。见https://hazelcast.atlassian.net/wiki/display/COM/Avoid+Data+Loss+on+Migration+-+Solution+Design –