You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexand Polyakov (Jira)" <ji...@apache.org> on 2020/06/23 05:56:00 UTC

[jira] [Created] (IGNITE-13175) NPE due to race on cache stop and transaction commit.

Alexand Polyakov created IGNITE-13175:
-----------------------------------------

             Summary: NPE due to race on cache stop and transaction commit.
                 Key: IGNITE-13175
                 URL: https://issues.apache.org/jira/browse/IGNITE-13175
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.7
            Reporter: Alexand Polyakov


If don't stop load and execute stop cache, sometimes throw NullPointerException and nodes failed
{code}
java.lang.NullPointerException: null
        at org.apache.ignite.internal.binary.BinaryObjectImpl.finishUnmarshal(BinaryObjectImpl.java:190)
        at org.apache.ignite.internal.processors.cache.transactions.TxEntryValueHolder.unmarshal(TxEntryValueHolder.java:154)
        at org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry.unmarshal(IgniteTxEntry.java:971)
        at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.unmarshal(IgniteTxHandler.java:354)
        at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:403)
        at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:386)
        at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest0(IgniteTxHandler.java:188)
        at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.lambda$null$0(IgniteTxHandler.java:644)
        at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:559)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
        at java.lang.Thread.run(Thread.java:748)
{code}
transaction use cache context race with stopCache
{code:java}
	at org.apache.ignite.internal.processors.cache.GridCacheContext.cleanup(GridCacheContext.java:2058)
	at org.apache.ignite.internal.processors.cache.GridCacheProcessor.cleanup(GridCacheProcessor.java:467)
	at org.apache.ignite.internal.processors.cache.GridCacheProcessor.stopCache(GridCacheProcessor.java:1020)
	at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStop(GridCacheProcessor.java:2539)
	at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStop(GridCacheProcessor.java:2518)
{code}
there is a reproducer who adds CountDownLatch await to IgniteTxEntry#unmarshal which is countDown in GridCacheContext#cleanup
https://github.com/gridgain/gridgain/tree/sdsb-11837




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