You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mo (JIRA)" <ji...@apache.org> on 2018/05/24 09:35:00 UTC
[jira] [Created] (IGNITE-8593) The semaphore's isBroken function
doesn't work properly.
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)