You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Kovalenko (Jira)" <ji...@apache.org> on 2019/10/23 12:45:00 UTC

[jira] [Created] (IGNITE-12325) GridCacheMapEntry reservation mechanism is broken with enabled cache store

Pavel Kovalenko created IGNITE-12325:
----------------------------------------

             Summary: GridCacheMapEntry reservation mechanism is broken with enabled cache store
                 Key: IGNITE-12325
                 URL: https://issues.apache.org/jira/browse/IGNITE-12325
             Project: Ignite
          Issue Type: Bug
          Components: cache
    Affects Versions: 2.8
            Reporter: Pavel Kovalenko
             Fix For: 2.8


Entry deferred deletion was disabled after https://issues.apache.org/jira/browse/IGNITE-11704 in transactional caches. However, if cache store is enabled there is a race with cache entry reservation after transactional remove and clear reservation after cache load:

{noformat}
java.lang.AssertionError: GridDhtCacheEntry [rdrs=ReaderId[] [ReaderId [nodeId=96c87c98-2524-4f9e-8a2f-6cfceda00005, msgId=22663371, txFut=null], ReaderId [nodeId=68130805-0dc8-4ef4-abf7-7e7cde800006, msgId=22663375, txFut=null], ReaderId [nodeId=b4a8abce-8d0e-4459-b93a-a734ad600004, msgId=22663370, txFut=null]], part=8, super=GridDistributedCacheEntry [super=GridCacheMapEntry [key=KeyCacheObjectImpl [part=8, val=8, hasValBytes=true], val=null, ver=GridCacheVersion [topVer=0, order=0, nodeOrder=0], hash=8, extras=null, flags=2]]]
	at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.clearReserveForLoad(GridCacheMapEntry.java:3616)
	at org.apache.ignite.internal.processors.cache.GridCacheAdapter.clearReservationsIfNeeded(GridCacheAdapter.java:2429)
	at org.apache.ignite.internal.processors.cache.GridCacheAdapter.access$400(GridCacheAdapter.java:179)
	at org.apache.ignite.internal.processors.cache.GridCacheAdapter$18.call(GridCacheAdapter.java:2309)
	at org.apache.ignite.internal.processors.cache.GridCacheAdapter$18.call(GridCacheAdapter.java:2217)
	at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6963)
	at org.apache.ignite.internal.processors.closure.GridClosureProcessor$2.body(GridClosureProcessor.java:967)
	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:844)

{noformat}

The issue can be resolved with enabled deferred delete if cache store is enabled.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)