2014-10-29 2 views
1

Hazelcast에 여러 노드가있는 경우 IMap.size() 메서드의 반환 값은 해당 노드의지도 크기 또는 모든 노드를 통해 분산 된 해당지도와 관련된 모든 개체의 전체 크기를 반환합니다.IMap Hazelcast 크기 작업

javadocs를 살펴보면 해당 메소드가 오버라이드 된 것을 나타내지 않으므로 해당 메소드 호출이 일반적으로 비 분산 맵에서 예상되는 것을 리턴하지 않는다고 상상해보십시오.

답변

1

전체 분산 맵의 예상 크기를 반환합니다. 여러 파티션이 순차적으로 작동하므로 실제 크기가 100 % 일 필요는 없지만 크기를 가져 오지만 돌연변이는 발생하지 않으므로 주어진 시점에 파티션의 요소 수가 계산되기 때문에 예상됩니다. 실제지도.

+0

아마도 나는 뭔가를 오해하고 있습니다. IMap iMap = hazelcastInstance.getMap (mapName)을 호출하면 MAP에 반환되는 모든 요소가 반드시 로컬에 저장되는 것뿐입니다. 지도에 로컬로 저장되지 않은 객체를 요청할 때만 호출을 수행 할 것인가? – DavidR

+0

맞지만 IMap :: size는 분산 연산이며 모든 노드의 로컬 크기를 요청하고 누적합니다. 작업이 분산되어 있고 "약간의"시간이 걸릴 수 있지만 클러스터는 단지 추정으로 간주되는 동안 평균에 응답하지 않습니다. – noctarius

관련 문제