You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Kuznetsov (JIRA)" <ji...@apache.org> on 2017/09/27 09:04:00 UTC

[jira] [Commented] (IGNITE-6043) Fix GridCacheSemaphoreImpl methods semantics

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

Andrey Kuznetsov commented on IGNITE-6043:
------------------------------------------

I've misunderstood the implementation. That is, GridCacheSemaphoreImpl is bounded and works similar to java.util.concurrent.Semaphore.

> Fix GridCacheSemaphoreImpl methods semantics
> --------------------------------------------
>
>                 Key: IGNITE-6043
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6043
>             Project: Ignite
>          Issue Type: Bug
>          Components: data structures
>    Affects Versions: 2.1
>            Reporter: Andrey Kuznetsov
>            Assignee: Andrey Kuznetsov
>            Priority: Critical
>
> Current semaphore implementation, {{GridCacheSemaphoreImpl}}, has inverted method semantics: {{acquire()}} releases the permit and {{release()}} acquires it. Also, debug-level method {{availablePermits()}} returns permits acquired so far. This confusing behaviour should be fixed.
> Also, it's worth noting in IgniteSemaphore's javadoc its unbounded nature, as opposed to {{java.util.concurrent.Semaphore}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)