2017-09-09 5 views
0

분산 맵의 공식 문서에 'EAGER는 모든 파티션이로드 될 때까지로드가 차단됨을 의미합니다.'라고 말합니다. 맵의 모든 파티션이로드 될 때까지 분산 된 맵의 모든 조작이 차단된다는 의미입니까?모든 파티션이 Hazelcast 클러스터에로드되었는지 확인

내 프로젝트에는 몇 개의 큰 창고가 있고 DB에서 초기로드하는 데 약 20 분이 걸립니다. 모든 파티션이 완전히로드 될 때까지 실행되도록 모든 예약 된 작업을 시작하는 것은 실질적으로 불필요합니다. 모든 파티션이 준비되고 준비가되면 알림을받을 수 있습니까?

답변

1

예, 그것이 의미하는 바입니다. 파티션이 아직로드되지 않은 경우 파티션에 대한 작업이 실행되지 않습니다. 작업이 보류되고 재 시도됩니다. 각 파티션에 대한로드가 서로 독립적이므로 partitionId == 1에 대한로드가 완료되고 map.get (key)를 수행하면 partitionId == 1에 의해 처리되는 키에 대해이 작업이 성공합니다. partitionId == 2 여전히 값을로드 중입니다. 모든 파티션이 호출 측에로드 될 때까지 차단하려면 map.size()를 호출하면됩니다. 모든 파티션이로드되어야하므로 모든 파티션이로드 될 때까지 완료되지 않습니다.