Folks,

It looks like we cache the deserialized value in case indexing is enabled
and a read operation happens on server side (e.g. affinity closure does
get() on primary node).

This must be caused by this piece of code in IgniteCacheObjectProcessorImpl:

boolean storeVal = ctx.config().isPeerClassLoadingEnabled() ||
    GridQueryProcessor.isEnabled(ccfg) ||
    !ccfg.isCopyOnRead();

This actually means that we store deserialized values in case indexing is
configured even if copyOnRead is true. My understanding is that this is a
bug and GridQueryProcessor.isEnabled(ccfg) condition should be removed from
there (at least for the case when binary marshaller is used).

Am I missing something?

-Val

Reply via email to