[ 
https://issues.apache.org/jira/browse/IGNITE-2735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15185573#comment-15185573
 ] 

Vladisav Jelisavcic commented on IGNITE-2735:
---------------------------------------------

Actually, I think you do; since acquire is a blocking operation, when stop 
signal comes, there might be blocked threads still waiting to a acquire. This 
way we can have a quick path, so all blocked threads can be unblocked 
immediately (without further attempt to execute any transactions), and 
everything shuts down fast and gracefully (which I think was the reason why 
IGNITE-1977 fails). I don't think simply using the gateway could do this. The 
same mechanism  is used to throw exceptions when other node fails and semaphore 
is in non-failoversafe mode.

Does this makes any sense? Let me know if I overlooked something.

Thanks!

> Interrupt all acquires on local node after ignite.close
> -------------------------------------------------------
>
>                 Key: IGNITE-2735
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2735
>             Project: Ignite
>          Issue Type: Bug
>          Components: data structures
>    Affects Versions: 1.6
>            Reporter: Vladisav Jelisavcic
>            Assignee: Vladisav Jelisavcic
>             Fix For: 1.5.0.final
>
>
> "acquire" method should throw an exception when semaphore is no longer 
> accessible when node is stopped.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to