[ https://issues.apache.org/jira/browse/IGNITE-12508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Kasnacheev updated IGNITE-12508: ------------------------------------- Component/s: cache > GridCacheProcessor#cacheDescriptor(int) has O(N) complexity > ----------------------------------------------------------- > > Key: IGNITE-12508 > URL: https://issues.apache.org/jira/browse/IGNITE-12508 > Project: Ignite > Issue Type: Bug > Components: cache > Reporter: Ivan Rakov > Assignee: Atri Sharma > Priority: Major > Labels: newbie > Time Spent: 4h > Remaining Estimate: 0h > > See the method code: > {code} > @Nullable public DynamicCacheDescriptor cacheDescriptor(int cacheId) { > for (DynamicCacheDescriptor cacheDesc : cacheDescriptors().values()) { > CacheConfiguration ccfg = cacheDesc.cacheConfiguration(); > assert ccfg != null : cacheDesc; > if (CU.cacheId(ccfg.getName()) == cacheId) > return cacheDesc; > } > return null; > } > {code} > This method is invoked in several hot paths which causes significant > performance regression when the number of caches is large, for example, > logical recovery and security check for indexing. > The method should be improved to use a hash map or similar data structure to > get a better complexity -- This message was sent by Atlassian Jira (v8.3.4#803005)