Hi Prashant,
If you cache objects with a lot of fields and you need to get just somse of them. Please, take a look a binary object concept [1]. You can use binary objects representations with cache projection IgniteCache.withKeepBinary() to avoid unnecessary object deserialization. [1] https://apacheignite.readme.io/docs/binary-marshaller#basic-concepts On Fri, Jun 30, 2017 at 10:27 PM, Verma Prashant <[email protected]> wrote: > Are there any other ways to avoid this. We have 20 gb of cache and when we > are fetching the data cache from 9 different mappers of single job memory > utilization becomes 180 gb. > > Thanks, > Prashant Verma > > > > Sent from my Samsung Galaxy smartphone. > > > -------- Original message -------- > From: vkulichenko <[email protected]> > Date: 30/06/2017 23:41 (GMT+05:30) > To: [email protected] > Subject: Re: Apache heap getting increase with cacheConfig.setCopyOnRead > as false > > Prashant, > > Ignite always stores binary representation of an object. Whenever you read > it, its is deserialized which actually creates a copy. In case copyOnRead > is > set to false, deserialized object if also cached so that deserialization > step is skipped. But this doubles memory consumption. > > -Val > > > > -- > View this message in context: http://apache-ignite-users. > 70518.x6.nabble.com/Apache-heap-getting-increase-with- > cacheConfig-setCopyOnRead-as-false-tp14175p14184.html > Sent from the Apache Ignite Users mailing list archive at Nabble.com. > > -- Best regards, Andrey V. Mashenkov
