Nikita Amelchev created IGNITE-19445:
----------------------------------------

             Summary: NPE during transaction recovery
                 Key: IGNITE-19445
                 URL: https://issues.apache.org/jira/browse/IGNITE-19445
             Project: Ignite
          Issue Type: Bug
            Reporter: Nikita Amelchev
            Assignee: Nikita Amelchev


The transaction can be enlisted during recovery(two different threads). The 
{{GridIntList}} used in the {{IgniteTxStateImpl}} is not thread safe - it 
produces NPE:

{noformat}
[2023-05-10T12:23:32,438][ERROR][sys-#129%dht.TxRecoveryStoreEnabledTest1%][IgniteTestResources]
 Critical system error detected. Will be handled accordingly to configured 
handler [hnd=StopNodeFailureHandler [super=AbstractFailureHandler 
[ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext 
[type=CRITICAL_ERROR, err=class o.a.i.IgniteCheckedException: null]]
 org.apache.ignite.IgniteCheckedException: null
        at 
org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7929) 
~[classes/:?]
        at 
org.apache.ignite.internal.processors.closure.GridClosureProcessor$1.body(GridClosureProcessor.java:659)
 [classes/:?]
        at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) 
[classes/:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_352]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_352]
        at java.lang.Thread.run(Thread.java:750) [?:1.8.0_352]
Caused by: java.lang.NullPointerException
        at 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxStateImpl.storeWriteThrough(IgniteTxStateImpl.java:342)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter.storeWriteThrough(IgniteTxAdapter.java:517)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager$TxRecoveryInitRunnable.run(IgniteTxManager.java:3341)
 ~[classes/:?]
        at 
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:7487)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.closure.GridClosureProcessor$1.body(GridClosureProcessor.java:649)
 ~[classes/:?]
        ... 4 more
{noformat}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to