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

Igor Rudyak reassigned IGNITE-6280:
-----------------------------------

    Assignee: Igor Rudyak  (was: Mikhail Cherkasov)

> Cassandra ignores AffinityKeyMapped annotation in parent classes.
> -----------------------------------------------------------------
>
>                 Key: IGNITE-6280
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6280
>             Project: Ignite
>          Issue Type: Bug
>          Components: cassandra
>    Affects Versions: 2.1
>            Reporter: Andrew Mashenkov
>            Assignee: Igor Rudyak
>            Priority: Major
>         Attachments: CassandraConfigTest.java
>
>
> By default, using @AffinityKeyMapped annotation force Ignire to override user 
> _keyPersistence_ configuration that may cause confusing results.
> PFA repro attached.
> h3. Description
> 1. Let there is 2 keys A and B that has same fields with one difference. Key 
> A has affinity key in parent class. So, it looks like this.
> {code}
> class BaseKey {
> @AffinityKeyMapped
>  Object affinityKey
> }
> {code}
> {code}
> class A extends BaseKey {
>  int id;
> }
> {code}
> {code}
> class B {
> @AffinityKeyMapped
>  Object affinityKey;
>  int uid;
> }
> {code}
> 2. Let we make different affinity mapping for Cassandra store, that looks 
> like a valid case
> {code:xml}
> <keyPersistence class="..."  strategy="POJO">
>     <partitionKey>
>          <field name="affinityKey" column="partID"/>
>          <field name="uid" column="uid"/>
>    </partitionKey>
> ....
> {code}
> 3. We have different behavior for these similar cases that makes user 
> confused.
> For key A this will work fine and expected DDL will be generated.
> For key B we'll get different DDL as Ignite will remove "_uid_" field from 
> "_partitionKey_".
> So, we should either to not allow Ignite to override key mapping or force 
> Ignite to check if parent classes has @AffinityKeyMapped annotation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to