Andrey Gura commented on IGNITE-3905:

One thing that can be made: {{lsn}} variable in {{assignPartition}} method can 
be replcaed by array and {{Collections.sort()}} call can be replaced by 
{{Arrays.sort()}}. {{Collections.sort()}} creates new array instance and it can 
be avoided.

See also IGNITE-3018.

> Optimize RendezvousAffinityFunction
> -----------------------------------
>                 Key: IGNITE-3905
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3905
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache, community, general
>    Affects Versions: 1.6
>            Reporter: Alexei Scherbakov
>            Priority: Critical
>             Fix For: 1.8
> Currently RendezvousAffinityFunction.assignPartition generates a lot of 
> garbage if called very often, on example in case of rebalancing a lot of 
> caches.
> This causes excessive pressure on GC, which is not always fast enough to 
> clear memory, producing long GC pauses leading to node segmentation.
> We should cache calculation of nodeHashBytes in node attribute or resort to 
> more efficient node hash calculation.

This message was sent by Atlassian JIRA

Reply via email to