You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (JIRA)" <ji...@apache.org> on 2016/06/01 11:53:59 UTC

[jira] [Commented] (IGNITE-3151) Using IgniteCountDownLatch sometimes drives to dead lock.

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

Vladislav Pyatkov commented on IGNITE-3151:
-------------------------------------------

Description of change:
I drew attention:
1) {{await}} method creates local *CountDownLatch* and wait it ({{internalLatch}}).
2) but {{onUpdate}} works without synchronization with initializing of local CountDownLatch ({{initializeLatch}}).
Hence {{onUpdate}} may will pass after count of latch will got and before return latch from *Callable* closure.

I added wait of creation ({{initLatch}}) of local latch if the process had started ({{initGuard}}) already and removed transaction which hold lock on count of latch key.

> Using IgniteCountDownLatch sometimes drives to dead lock.
> ---------------------------------------------------------
>
>                 Key: IGNITE-3151
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3151
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Vladislav Pyatkov
>            Assignee: Vladislav Pyatkov
>         Attachments: igniteBugShot.zip
>
>
> Run several serve node (recoment use count of CPU - 1).
> Wait update topology.
> Run client
> After some iteration exception will thrown (In my case it take place after around 10K iteration).



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