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

ASF GitHub Bot commented on IGNITE-4157:
----------------------------------------

GitHub user sergey-chugunov-1985 opened a pull request:

    https://github.com/apache/ignite/pull/1271

    IGNITE-4157 Use discovery custom events instead of marshaller and system 
cache

    First version of feature's implementation.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-4157

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/1271.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1271
    
----
commit 4a094b424d02fc18ecedf9c895c72fe1594f919d
Author: Sergey Chugunov <[email protected]>
Date:   2016-11-09T12:02:41Z

    IGNITE-4147 MarshallerContext API change and draft implementation are added

commit 7b1d321bca8a3513603667dd1f05d8760d23d67c
Author: Sergey Chugunov <[email protected]>
Date:   2016-11-23T15:18:30Z

    IGNITE-4157 file-based persistence and requesting missing mapping are added

----


> 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)

Reply via email to