Получение com.hazelcast.spi.exception.PartitionMigratingException на неопределенный срок после перезапуска кластера

У меня есть кластер 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

Я понимаю, что он повторяет ту же операцию, что и исключение, но проблема в том, что миграция раздела не завершалась в течение целых выходных, пока я снова не перезапустил серверы.

Пожалуйста, помогите мне понять, почему это происходит и какие меры можно предпринять, чтобы предотвратить это.

Спасибо.


person Joseph Nuthalapati    schedule 14.04.2015    source источник


Ответы (1)


Вы не говорите, какую версию вы используете. Нам известно о некоторых проблемах с переносом разделов. В 3.7 мы полностью переработали схему миграции разделов с нуля.

Так что попробуй 3.7.

person Greg Luck    schedule 27.07.2016
comment
Я использовал Hazelcast 3.5.4. Попробую обновить до 3.7. Спасибо. - person Joseph Nuthalapati; 27.07.2016
comment
У нас есть технический проект новой схемы миграции разделов. См. hazelcast.atlassian.net/ вики/дисплей/COM/ - person Greg Luck; 29.07.2016