[
https://issues.apache.org/jira/browse/IGNITE-4157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15754660#comment-15754660
]
Sergey Chugunov commented on IGNITE-4157:
-----------------------------------------
Received some comments on review including (from major to minor):
* DiscoveryDataContainer is part of public API but expresses some internal
concepts through its interface;
* Mappings should be persisted outside of discovery thread;
* Managing map used for synchronization of mappings distribution should be done
in GridFutureAdapter specialized subclass;
* It is more efficient for client to request missed mappings
(*MissingMappingRequest/ResponseMessage*) using communication instead of
discovery messages;
* *MessageRejectedMessage* may not be necessary, figuring out if I can get rid
of additional pass of this message;
> Use discovery custom messages instead of marshaller cache
> ---------------------------------------------------------
>
> Key: IGNITE-4157
> URL: https://issues.apache.org/jira/browse/IGNITE-4157
> Project: Ignite
> Issue Type: Improvement
> Components: cache
> Reporter: Alexey Goncharuk
> Assignee: Sergey Chugunov
> Fix For: 2.0
>
>
> Currently we use system caches for keeping classname to class ID mapping and
> for storing binary metadata
> This has several serious disadvantages:
> 1) We need to introduce at least two additional thread pools for each of
> these caches
> 2) Since cache operations require stable topology, registering a class ID or
> updating metadata inside a transaction or another cache operation is tricky
> and deadlock-prone.
> 3) It may be beneficial in some cases to have nodes with no caches at all,
> currently this is impossible because system caches are always present.
> 4) Reading binary metadata leads to huge local contention, caching metadata
> values in a local map doubles memory consumption
> I suggest we use discovery custom events for these purposes. Each node will
> have a corresponding local map (state) which will be updated inside custom
> event handler. From the first point of view, this should remove all the
> disadvantages above.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)