У меня есть кластер hazelcast на двух серверах, по два узла на каждом сервере. Я использую банку hazelcast, поэтому узлы на каждом сервере перезапускаются каждый раз при перезапуске сервера. Всякий раз, когда развертывание происходит на двух серверах, они перезапускаются с разницей в 30 секунд. У меня был один конкретный случай, когда каждый раз, когда приложение запрашивает определенный фрагмент данных, возникает это исключение. Я использую MultiMap для кэширования данных.
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
Я понимаю, что он повторяет ту же операцию, что и исключение, но проблема в том, что миграция раздела не завершалась в течение целых выходных, пока я снова не перезапустил серверы.
Пожалуйста, помогите мне понять, почему это происходит и какие меры можно предпринять, чтобы предотвратить это.
Спасибо.