Ivan Bessonov created IGNITE-28361:
--------------------------------------
Summary: 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
{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)