ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Chugunov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-4157) Use discovery custom messages instead of marshaller and system cache
Date Tue, 22 Nov 2016 16:05:58 GMT

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

Sergey Chugunov commented on IGNITE-4157:
-----------------------------------------

Implemented requesting of mapping by client when it doesn't have a mapping in local cache
it needs to unmarshal some data.
This may happen because discovery events are sent to clients asynchronously so it is possible
that servers already accepted new mapping but clients aren't aware of it.

> Use discovery custom messages instead of marshaller and system 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)

Mime
View raw message