[
https://issues.apache.org/jira/browse/IGNITE-28361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivan Bessonov updated IGNITE-28361:
-----------------------------------
Reviewer: Mirza Aliev
> ResourceVacuumManager#vacuumOrphanTxResources fails on concurrent tx cleanup
> ----------------------------------------------------------------------------
>
> Key: IGNITE-28361
> URL: https://issues.apache.org/jira/browse/IGNITE-28361
> Project: Ignite
> Issue Type: Bug
> Components: transactions ai3
> Reporter: Ivan Bessonov
> Assignee: Ivan Bessonov
> Priority: Major
> Labels: ignite-3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> {code:java}
> org.apache.ignite.internal.failure.StackTraceCapturingException:
> IGN-CMN-65535 Error occurred during the orphan resources closing.Caused by:
> java.lang.NullPointerException:
> Cannot invoke "java.util.Set.iterator()" because "resourceIds" is null
> at RemotelyTriggeredResourceRegistry.closeByRemoteHostId(...java:151)
> at ResourceVacuumManager.vacuumOrphanTxResources(...java:195) {code}
> Race scenario:
> {code:java}
> Vacuum thread: registeredRemoteHosts() → {coordinatorX} ← X present in
> keySet
> getById(coordinatorX) == null → decision: close resources
> for X
> Cleanup thread: close(lastTxId_of_coordinatorX)
> → removeRemoteHostResource(coordinatorX, lastResource)
> → coordinatorX entry REMOVED from remoteHostsToResources
> Vacuum thread: closeByRemoteHostId(coordinatorX)
> → remoteHostsToResources.get(coordinatorX) = null
> → NullPointerException!
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)