[ https://issues.apache.org/jira/browse/IGNITE-7090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16346185#comment-16346185 ]
Tim Onyschak commented on IGNITE-7090: -------------------------------------- I missed the resetting of the permits. OK i think i have what you want. However, i began thinking of a more generic solution to apply to any data structure which could end up out of sync between it's state object and cluster state. Should we look into handling something across the board? Specifically, if we can hook into specific children of AtomicDataStructureValue that implement a new interface we can check instance and pass in current grid state to check DSState against and handle accordingly? Maybe a new Jira to track and refactor? Thoughts? > Semaphore Stuck when no acquirers to assign permit > -------------------------------------------------- > > Key: IGNITE-7090 > URL: https://issues.apache.org/jira/browse/IGNITE-7090 > Project: Ignite > Issue Type: Bug > Components: cache, data structures > Affects Versions: 2.1, 2.4 > Reporter: Tim Onyschak > Assignee: Tim Onyschak > Priority: Major > Fix For: 2.5 > > Attachments: SemaphoreFailoverNoWaitingAcquirerTest.java > > > If no acquirers are available to take permit of semaphore, the permit never > gets release and any further acquirerers will wait forever. > On node shut down DataStructuresProcessor.dsMap gets cleared out prior to > event listener being able to execute onNodeRemoved, hence owner is never > cleared out if it was unable to pass to a different acquirer. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)