Hi Addo, There is no need to explicitly specify IdentityResolver. On marshaling step, hash code is got from object and recorded in BinaryObject, and it will be used for any affinity mapping, e.g. affinity run. Use IdentityResolver if you need customize hash code calculation, f.e. exclude some fields or in case of using BinaryObjectBuilder. So you may remove custom BinaryConfiguration.
Ignite tries to avoid redundant serialization/deserialization, and for proper work there is no need to do it. According to this rule Ignite passes BinaryObject in AffinityKeyMapper. You don't need to deserialize the whole object, it's enough to read just required field: if (CacheKeyOne.class.getName().equals(bo.type().typeName())) return bo.field("key"); You should avoid using other marshalers, because BinaryMarshaller is highly optimized for use in Ignite. -Dmitry. -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Ignite-Affinity-Binary-Configuration-Issues-tp11897p11933.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.