[ 
https://issues.apache.org/jira/browse/IGNITE-10643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov reassigned IGNITE-10643:
----------------------------------------

    Assignee: Vladimir Ozerov  (was: Yury Gerzhedovich)

> 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)

Reply via email to