ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitry Karachentsev (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-5795) @AffinityKeyMapped ignored if QueryEntity used
Date Thu, 20 Jul 2017 15:58:00 GMT

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

Dmitry Karachentsev updated IGNITE-5795:
----------------------------------------
    Description: 
When cache configured with QueryEntity and used key type with @AffinityKeyMapped field, it
will be ignored and wrong partition calculated. This happens because QueryEntity processing
precedes key type registering in binary meta cache. On that step CacheObjectBinaryProcessorImpl#affinityKeyField
called and unable to resolve type, so null returned and null putted in affKeyFields.

On next put/get operation CacheObjectBinaryProcessorImpl#affinityKeyField will return null
from affKeyFields, but should be affinity key field.

Test that reproduces problem in [PR 2330|https://github.com/apache/ignite/pull/2330]

  was:
When cache configured with QueryEntity and used key type with @AffinityKeyMapped field, it
will be ignored and wrong partition calculated. This happens because QueryEntity processing
precedes key type registering in binary meta cache. On that step CacheObjectBinaryProcessorImpl#affinityKeyField
called and unable to resolve type, so null returned and null putted in affKeyFields.

On next put/get operation CacheObjectBinaryProcessorImpl#affinityKeyField will return null
from affKeyFields, but should be affinity key field.


> @AffinityKeyMapped ignored if QueryEntity used
> ----------------------------------------------
>
>                 Key: IGNITE-5795
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5795
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.0
>            Reporter: Dmitry Karachentsev
>             Fix For: 2.2
>
>
> When cache configured with QueryEntity and used key type with @AffinityKeyMapped field,
it will be ignored and wrong partition calculated. This happens because QueryEntity processing
precedes key type registering in binary meta cache. On that step CacheObjectBinaryProcessorImpl#affinityKeyField
called and unable to resolve type, so null returned and null putted in affKeyFields.
> On next put/get operation CacheObjectBinaryProcessorImpl#affinityKeyField will return
null from affKeyFields, but should be affinity key field.
> Test that reproduces problem in [PR 2330|https://github.com/apache/ignite/pull/2330]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message