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

Alexey Kukushkin commented on IGNITE-5551:
------------------------------------------

Set Priority to Minor. This fix will most likely NOT be committed since there 
is an effort in progress to re-design service grid. When the re-design effort 
is complete, I will review the code, make sure the new code has no similar 
issue and close this ticket.

> Optimize service deployment assignments object
> ----------------------------------------------
>
>                 Key: IGNITE-5551
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5551
>             Project: Ignite
>          Issue Type: Improvement
>          Components: managed services
>    Affects Versions: 3.0
>            Reporter: Alexey Goncharuk
>            Assignee: Alexey Kukushkin
>            Priority: Minor
>              Labels: iep-17
>             Fix For: 2.7
>
>
> 1) The deployment assignment is stored using a map [node ID -> number of 
> assigned services]. However, this assignment is not very effective for cases 
> when service configuration is (maxPerCluster = 0, maxPerNode > 0), because in 
> this case, we can avoid assignment recalculation at all. The assignment for 
> this case may look like (eachNode=N). In this case, the assignment does not 
> change and we can effectively skip it during the reassign loop.
> 2) We store zero assignment counters, which does not make sense at all - if 
> there are no service deployments for a node, there should be no corresponding 
> entry in the map at all. The size of assignments for (maxPerCluster > 0) 
> configurations is O(number of nodes in the cluster), but it should be 
> O(maxPerCluster).
> 3) If an assignment did not change, we should not commit the assignment 
> transaction - this is redundant
> 4) Perhaps, it also makes sense to calculate several assignments at once and 
> do a putAll commit instead of single puts - this should also decrease the 
> assignment calculation latency



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to