Alexey Goncharuk commented on IGNITE-9244:

A few comments:
 * Use {{Long.compare}} instead of {{(p1, p2) -> p1.part.fullSize() > 
p2.part.fullSize() ? -1 : 1}} 
 * Method {{calculateBucket(PartitionEvictionTask)}} has an unused argument - 
either a bug, or the argument should be removed
 * For safety, make sure that {{threads}} does not get {{0}} value after 
{{sysPoolSize / 4}}

> Partition eviction may use all threads in sys pool, it leads to hangs send a 
> message via sys pool 
> --------------------------------------------------------------------------------------------------
>                 Key: IGNITE-9244
>                 URL: https://issues.apache.org/jira/browse/IGNITE-9244
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Dmitriy Govorukhin
>            Assignee: Dmitriy Govorukhin
>            Priority: Major
>             Fix For: 2.7
> In the current implementation, GridDhtPartitionsEvictor reset partition to 
> evict one by one.
> GridDhtPartitionsEvictor is created for each cache group, if we try to evict 
> too many groups as sys pool size, group evictors will take all available 
> threads in sys pool. It leads to hangs send a message via sys pool. As a fix, 
> I suggest to limit concurrent execution via sys pool or use another pool for 
> this purpose.

This message was sent by Atlassian JIRA

Reply via email to