You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by amdam23000 <62...@qq.com> on 2016/08/31 02:26:21 UTC

Why store raw value in cache when peer class loading is enabled?

Hi All, when i looked into  IGNITE-2417
<https://issues.apache.org/jira/browse/IGNITE-2417>  , i found that the raw
data was stored in cache though its marshalled byte data was already
cached.And this is what causes IGNITE-2417.

Relevant source code (In IgniteCacheObjectProcessorImpl.java):
boolean storeVal = ctx.config().isPeerClassLoadingEnabled() ||
GridQueryProcessor.isEnabled(ccfg) || !ccfg.isCopyOnRead();

We can see when one of those 3 situations happens, there will be almost
double heap cost.
Maybe the raw data reserved is used to eliminate cost of local
deserialization(unmarshalling), but is it necessary to keep all raw data
when use peer class loading?



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Why-store-raw-value-in-cache-when-peer-class-loading-is-enabled-tp7423.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Why store raw value in cache when peer class loading is enabled?

Posted by amdam23000 <62...@qq.com>.
Got it, thanks.



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Why-store-raw-value-in-cache-when-peer-class-loading-is-enabled-tp7423p7429.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Why store raw value in cache when peer class loading is enabled?

Posted by vkulichenko <va...@gmail.com>.
Hi,

The purpose of the ticket you mentioned is to fix this. So I believe this is
not necessary and actually this is a legacy code left from
before-the-binary-format era.

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Why-store-raw-value-in-cache-when-peer-class-loading-is-enabled-tp7423p7424.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.