Hazelcast Continuous Query Cache - Batch Size Capacity & Coalescing

309 views Asked by At

We want to cache some entries (i.e. depending upon predicate) in continuous query cache on client for IMap. But we want to send update to CQC only after some delay seconds (i.e. 30 sec) even if the entries receives like 100 updates per sec. This we can achieve by setting delay seconds to 30 seconds & coalescing to true.

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

CQC fits perfectly well for the above use case.

But we are noticing CQC is not receiving updates after delay seconds until batch size capacity is not reached. Is this is the expected behavior? We thought CQC will receive the latest updated value for entries after delay seconds or batch size reached its capacity.

1

There are 1 answers

0
Riaz On

delaySeconds and batchSize 'OR' relation. Updates are pushed to caches either when batchSize is reached or delaySeconds are passed. If coalesce is true, then only latest update of a key is pushed to cache.

We have noticed some issues when testing with intellij. please try using another IDE if you are using intellij