You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Anton Vinogradov (Jira)" <ji...@apache.org> on 2023/05/22 10:57:00 UTC

[jira] [Resolved] (IGNITE-19445) NPE during transaction recovery

     [ https://issues.apache.org/jira/browse/IGNITE-19445?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anton Vinogradov resolved IGNITE-19445.
---------------------------------------
    Resolution: Fixed

Merged to the master.

[~NSAmelchev], thanks for the reproducer.

[~ivandasch] thanks for the review.

> 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: Anton Vinogradov
>            Priority: Major
>              Labels: ise
>             Fix For: 2.16
>
>         Attachments: reproducer-19445.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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)