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)

Reply via email to