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

Semen Boikov commented on IGNITE-6667:
--------------------------------------

[~ascherbakov],

In future when we'll add new custom message then nobody will remember that we 
need also update this cache reuse logic in GridDiscoveryManager. I think we 
should add method 'reuseDiscoCache' on DiscoveryCustomMessage interface.

Also DiscoCache update can be more optimal, for example for 
ChangeGlobalStateMessage everything except state can be reused, for 
DynamicCacheChangeBatch everything except allCacheNodes/cacheGrpAffNodes. 
Ideally we can add method DiscoveryCustomMessage.createDiscCache(DiscoCache 
cur, ctx) so that each message will implement correct disco cache reuse logic.

Thanks

> Allow discovery cache instance reuse if only minor topology change has 
> occured.
> -------------------------------------------------------------------------------
>
>                 Key: IGNITE-6667
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6667
>             Project: Ignite
>          Issue Type: Improvement
>      Security Level: Public(Viewable by anyone) 
>    Affects Versions: 2.2
>            Reporter: Alexei Scherbakov
>            Assignee: Alexei Scherbakov
>             Fix For: 2.4
>
>
> Currently we always recreating DiscoCache instance even if only minor 
> topology change has occured and cache may be reused.
> Profiling shows what initialization of such object tooks up tens of millis 
> which adds to ring latency delay and especially sensitive for large 
> topologies.
> Solution: reuse current discovery cache instance whenever possible.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to