Question 1:

I am using a class that have readObject/writeObject methods so I get this warning:

2018-01-24T16:15:49,248 [exchange-worker-#42] WARN : Some classes in query configuration cannot be written in binary format because they either implement Externalizable interface or have writeObject/readObject methods. Instances of these classes will be deserialized in order to build indexes. Please ensure that all nodes have these classes in classpath. To enable binary serialization either implement Binarylizable interface or set explicit serializer using BinaryTypeConfiguration.setSerializer() method: [class org.test.common.RtuProperties]

This class is used for the value in the cache, I set it with the setIndexedTypes( keyclass, valueclass) because I use it in SQL queries, but I have no @QuerySqlField annotations in that class and all SQL queries are done using the key only and not the value, will this cause any performance problems on indexing ? even if I have not specified any index on the value class will Ignite have to deserialize the objects when it builds the index data anyway ?

Question 2:

If so, is it ok to add the Binarylizable methods and interface and still keep the Externalizable implementation in the class?

Question 3:

If I don't want any indexed data on for example the value in a cache, but it is a primitive like a String for example, when I call setIndexedTypes( k, v) it will create an index on the key and value, the javadoc say nothing about using null for the value class for example, would this be ok ? if I have a huge number of entries I would think the performance would suffer if it has to update an index that is never used and it waste memory also.

Mikael


Reply via email to