[ https://issues.apache.org/jira/browse/IGNITE-10643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16723385#comment-16723385 ]
Vladimir Ozerov edited comment on IGNITE-10643 at 12/17/18 10:04 PM: --------------------------------------------------------------------- Re-run due to faulty TC: https://ci.ignite.apache.org/viewQueued.html?itemId=2578335 was (Author: vozerov): https://ci.ignite.apache.org/viewQueued.html?itemId=2577778 > GridCacheContextInfo should not use isCacheContextInited() method to > calculate constant properties > -------------------------------------------------------------------------------------------------- > > Key: IGNITE-10643 > URL: https://issues.apache.org/jira/browse/IGNITE-10643 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Vladimir Ozerov > Assignee: Vladimir Ozerov > Priority: Major > Labels: iep-24 > Fix For: 2.8 > > > This appears to be a regression from IGNITE-6173. Current method > {{isCacheContextInited}} is used to determine several properties (config, > name, customAffinityMapper, groupId, cacheId, affinityNode). This is wrong, > as all of these properties are "constant" and can be deduced form > configuration. > One specific case when it breaks Ignite is {{customAffinityMapper}}. It is > used to determine affinity key field in {{GridH2Table}} which will be used > later on for partition pruning. However, when table is created on a client > node and context is not initialized yet, it will return "false", and > incorrect affinity key will be calculated in > {{QueryUtils.typeForQueryEntity}} and in {{GridH2Table}} later on. Finally, > when query is executed, incorrect partition might be derived from it leading > to incorrect query result. > Solution: make all mentioned methods independent of cache state. -- This message was sent by Atlassian JIRA (v7.6.3#76005)