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.