You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2018/12/13 15:25:00 UTC
[jira] [Issue Comment Deleted] (IGNITE-10643) GridCacheContextInfo
should not use isCacheContextInited() method to calculate constant
properties
[ https://issues.apache.org/jira/browse/IGNITE-10643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Ozerov updated IGNITE-10643:
-------------------------------------
Comment: was deleted
(was: https://ci.ignite.apache.org/viewQueued.html?itemId=2539046)
> 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)