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