Hello!

As far as my understanding goes, you have to supply cacheKeyConfiguration
in both Java and C++ configuration files, and remove @AffinityKeyMapped
from Java CustomKey class (or other ways of specifying it where applicable).

Regards,

-- 
Ilya Kasnacheev

2018-08-09 10:50 GMT+03:00 Floris Van Nee <[email protected]>:

> Hi all,
>
>
>
> I’m experiencing exactly the same issue as is described in a previous post
> on this mailing list: http://apache-ignite-users.
> 70518.x6.nabble.com/Affinity-Key-field-is-not-identified-
> if-binary-configuration-is-used-on-cache-key-object-td15959.html
>
> In short – defining an XML config with the appropriate binaryConfiguration
> (for Java/C++ interopability) and cacheKeyConfiguration (to define an
> affinityKeyFieldName for a certain key type) will fail when running from
> C++. Unfortunately, the earlier item on the mailing list didn’t find/post a
> solution to the problem.
>
>
>
> My custom key type is a class with two String members. I get the following
> error when I try to retrieve something from the cache:
>
>
>
> An error occurred: Java exception occurred 
> [cls=org.apache.ignite.binary.BinaryObjectException,
> msg=Binary type has different affinity key fields [typeName=CustomKey,
> affKeyFieldName1=string_1, affKeyFieldName2=null]]
>
>
>
> Running exactly the same from Java works fine. Also, when I remove the
> cacheKeyConfiguration part from the XML, it runs fine in both Java and C++
> (but then this runs without the proper affinity key field of course).
>
>
>
> It seems like this is a bug, or am I missing something?
>
>
>
> -Floris
>
>
>

Reply via email to