2017-09-05 2 views
0

IMap 용 클라이언트의 연속 쿼리 캐시에 일부 항목 (즉, 술어에 따라 다름)을 캐싱하려고합니다. 그러나 항목이 초당 100 개의 업데이트를받는 경우에도 지연 초 (즉, 30 초) 후에 만 ​​CQC에 업데이트를 보내려고합니다. 지연 시간을 30 초로 설정하여 &을 true로 설정하면됩니다.Hazelcast 연속 쿼리 캐시 - 배치 크기 용량 및 병합

QueryCacheConfig cqc = new QueryCacheConfig(); 
cqc.setDelaySeconds(30); 
cqc.setCoalesce(true); 
cqc.setBatchSize(30) 

위의 경우에는 CQC가 완벽하게 적합합니다.

그러나 배치 크기 용량에 도달하지 않을 때까지 지연 초 후에 CQC가 업데이트를 수신하지 못하고 있습니다. 이것이 예상되는 행동입니까? 우리는 CQC가 지연 초나 배치 크기가 용량에 도달 한 후 엔트리에 대한 최신 업데이트 값을 수신 할 것이라고 생각했습니다.

+0

재생산기를 공유 할 수 있습니까? 내 재판에서, 그것은 작동하는 것 같습니다. – mrck

+0

@mrck - 보이는 버그가보고되었습니다. https://github.com/hazelcast/hazelcast/issues/11331 – Hiten

+0

예가보고되었지만 재생기가 예상 된 동작이 발생하기 때문에 유용하지 않습니다. 다른 재생기를 가지고 있다면 그것을 보는 것이 좋을 것입니다. – mrck

답변

0

delaySeconds 및 batchSize 'OR'관계. batchSize에 도달하거나 delaySeconds가 전달되면 업데이트가 캐시로 푸시됩니다. 병합이 참이면 키의 최신 업데이트 만 캐시로 푸시됩니다.

intellij로 테스트 할 때 몇 가지 문제점을 발견했습니다. intellij를 사용하는 경우 다른 IDE를 사용해보십시오