Mo created IGNITE-8593: -------------------------- Summary: The semaphore's isBroken function doesn't work properly. Key: IGNITE-8593 URL: https://issues.apache.org/jira/browse/IGNITE-8593 Project: Ignite Issue Type: Bug Components: data structures Affects Versions: 2.4 Reporter: Mo
Scenario: Three servers (s1,s2,s3) two clients (c1,c2). A semaphore with one permit is created. Config: {{Release acquired permits if node, that owned them, left topology: set to false}} # c2 acquires the permit. # Network failure happens, isolating c2 from the rest of nodes for a period of time. # Network heals. # c2 releases the permit. # c2 acquires the permit. # Calling semaphore.isBroken() returns false on both c1 and c2. # c1 tries to acquire the permit but fails. # Now calling isBroken() returns true on both c1 and c2. I think isBroken() should return true before a client tries to acquire a permit, and then fails (i.e., in step 6) rather than after acquiring a permit fails, as in the latter case, what purpose does the isBroken() function serves? -- This message was sent by Atlassian JIRA (v7.6.3#76005)