[ 
https://issues.apache.org/jira/browse/IGNITE-4381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Semen Boikov updated IGNITE-4381:
---------------------------------
    Description: 
If internal threads execute blocking operation this can cause starvation and 
hangs (example of issue https://issues.apache.org/jira/browse/IGNITE-4371).
Ideally we need a way to 'automatically' find all such places in code, 
straightforward idea is add assert in GridFutureAdapter.get - assert should 
fail if it is called by system thread and future is not finished. At least one 
issue here is that currently system threads can be blocked on operation on 
utility/marshaller cache, so assert should also take it into account.

Another idea is execute tests with number of threads in all pools = 1, this 
also should reveal issues with blocking calls.

  was:
If internal threads execute blocking operation this can cause starvation and 
hangs (example of issue https://issues.apache.org/jira/browse/IGNITE-4371).
Ideally we need a way to 'automatically' find all such places in code, 
straightforward idea is add assert in GridFutureAdapter.get - assert should 
fail if it is called by system thread and future is not finished. At least one 
issue here is that currently system threads can be blocked on operation on 
utility/marshaller cache, so assert should also take it into account.


> Need ensure that internal threads do not execute blocking operations
> --------------------------------------------------------------------
>
>                 Key: IGNITE-4381
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4381
>             Project: Ignite
>          Issue Type: Task
>          Components: general
>            Reporter: Semen Boikov
>            Assignee: Konstantin Dudkov
>             Fix For: 2.0
>
>
> If internal threads execute blocking operation this can cause starvation and 
> hangs (example of issue https://issues.apache.org/jira/browse/IGNITE-4371).
> Ideally we need a way to 'automatically' find all such places in code, 
> straightforward idea is add assert in GridFutureAdapter.get - assert should 
> fail if it is called by system thread and future is not finished. At least 
> one issue here is that currently system threads can be blocked on operation 
> on utility/marshaller cache, so assert should also take it into account.
> Another idea is execute tests with number of threads in all pools = 1, this 
> also should reveal issues with blocking calls.



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

Reply via email to