Hi!

We call cache.get method using services and we found, that it acquires
checkpoint read lock. If we have done many updates and chckpointing process
has started (checkpoint write lock has acquired), then business critical
read operations are waiting for lock! Is it by design?

SimpleService proxy =
ignite.services(ignite.cluster().forServers()).serviceProxy(....)
proxy.callSomeMethod()

callSomeMethod(){
...
cache.get(K);
}

at
java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryAcquireShared(ReentrantReadWriteLock.java:481)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1327)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.tryLock(ReentrantReadWriteLock.java:871)
at
o.a.i.i.processors.cache.persistence.GridCacheDatabaseSharedManager.checkpointReadLock(GridCacheDatabaseSharedManager.java:1483)
at
o.a.i.i.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.setResult(GridPartitionedSingleGetFuture.java:685)
at
o.a.i.i.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.localGet(GridPartitionedSingleGetFuture.java:477)
at
o.a.i.i.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.mapKeyToNode(GridPartitionedSingleGetFuture.java:354)
at
o.a.i.i.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.map(GridPartitionedSingleGetFuture.java:225)
at
o.a.i.i.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.init(GridPartitionedSingleGetFuture.java:217)
at
o.a.i.i.processors.cache.distributed.dht.colocated.GridDhtColocatedCache.getAsync(GridDhtColocatedCache.java:272)
at
o.a.i.i.processors.cache.GridCacheAdapter.get0(GridCacheAdapter.java:4716)
at o.a.i.i.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:4697)
at o.a.i.i.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:1415)
at
o.a.i.i.processors.cache.IgniteCacheProxyImpl.get(IgniteCacheProxyImpl.java:928)
at
o.a.i.i.processors.cache.GatewayProtectedCacheProxy.get(GatewayProtectedCacheProxy.java:640)

Reply via email to