Alex,

I was wrong about OptimizedMarshaller. We handle Externalizable a bit
differently: we immediately swtich to "raw mode" and write object's content
in raw form. This situation can be detected using several flags in object
header. But the same flags will be set if user implemented Binarizable and
manually switched object to raw mode. So the answer is no - we cannot
detected this situation reliably at the moment.

May be some new flag could help us. It could mean "cannot read fields from
deserialized object".

On Tue, Dec 8, 2015 at 3:03 PM, Alexey Goncharuk <alexey.goncha...@gmail.com
> wrote:

> Vova,
>
> We still have the logic that allows us to use reflection to get values in
> indexing, so basically the change is an additional check during the query
> processor start.
>
> My concern regarding (2) is that a server node must have model classes in
> the classpath in order to check that we should deserialize values for
> indexing. If a server node does not have classes in the classpath and user
> still uses Externalizable classes on client, we will still end up with the
> same situation and it looks like we will not be able to detect it. Is there
> a way to tell that an object was externalizable without the class on server
> node?
>

Reply via email to