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

Alexey Goncharuk commented on IGNITE-2709:
------------------------------------------

Moved the whole notification procedure in a separate method, calling this 
entire method either synchronously or from a separate thread.

> High contention on a cache key leads to excsessive thread stack usage
> ---------------------------------------------------------------------
>
>                 Key: IGNITE-2709
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2709
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: ignite-1.4
>            Reporter: Alexey Goncharuk
>            Assignee: Alexey Goncharuk
>         Attachments: stack.txt
>
>
> Currently {{GridCacheMvccManager#onOwnerChanged}} callback notifies listeners 
> synchronously. This means that the call stack size for a transaction commit 
> is proportional to the size of MVCC candidates queue. On a big enough queue 
> size this leads to a StackOverflowError (see the file attached).
> I suggest the {{GridCacheMvccManager:158}} line be executed asynchronously 
> after some (3-5) nested calls.
> The change should be properly benchmarked.



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

Reply via email to