Hi all,

All DataStructures are stored in one Map which itself is stored in
utilityCache, this makes high contention on DS creation or removing, it
requires to acquire Map's lock and manipulation with the Map under the
lock. So all threads in cluster should wait for this lock to create or
remove DS.

I don't see any reason to store all DS in one map,  we already have
utilityCache and can save DSs directly in utilityCache, to distinguish DS
with other objects in utilityCache I use composite key, the first part of
which is DATA_STRUCTURES_KEY, second one is DS's name, also DS type can be
added, this will allow us to create different DS with the same name.

There is draft implementations, all DSs are stored with unique key in
utilityCache:
https://github.com/apache/ignite/pull/2046/files

May be there's some reason to store all DS in one Map that I missed?
Any thoughts?


-- 
Thanks,
Mikhail.

Reply via email to