Alexey Goncharuk created IGNITE-4157:
----------------------------------------
Summary: 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
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)