You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Denis Mekhanikov <dm...@gmail.com> on 2018/03/01 07:33:21 UTC

Re: SortedEvictionPolicy doesn't work as expected

No, It's not like that.

You can access any entry from any node, but access time will be different.
If an entry is stored on a different node, Ignite will make a network
request to that node and return it to you.
If the entry is available locally, then the access time will be lower.
And if you configure an oh-heap caching, and an entry is available locally,
then the access time will be even lower.

So, on-heap cache doesn't affect availability of records, it's just an
internal enhancement to make access to some entries faster.
If you enable it, you won't need to change any code, you will just get
lower access time for some records, and higher memory consumption.

And eviction policy is not determining, which entries are stored in the
cache, but the entries, which have lower access time from local nodes.

Denis

чт, 1 мар. 2018 г. в 1:36, mamaco <ma...@163.com>:

> So, that means even if I have a local cache with SortedEvictionPolicy
> configured and OnHeap enabled,
> it's still impossible to get the entries from a distributed partition
> cache, because the source cache is not centralized.
> And finally, the solution is to set a standalone SortedMap via
> RemoteEventListener.
>
> Correct?
>
> Marco
>
> Denis Mekhanikov wrote
> Marco, If you access some records, that are stored in the off-heap memory,
> then you have to wait, while Ignite is deserializing the data and copying
> it to Java heap. But if the needed entry is already available in Java heap,
> Ignite doesn't have to perform these steps to return the result, it can
> just give you what it already has. So, the idea behind a Java heap cache is
> to make access to some specific entries faster. The entries, that are kept
> on the heap will be accessed way faster, than the once, that are stored in
> off-heap memory. Note, that all of this is true only for the local records.
> If you have multiple nodes, and you do a lot of cross-node reads, then Java
> heap cache won't help you much. Denis ср, 28 февр. 2018 г. в 20:41, mamaco <[hidden
> email] <http:///user/SendEmail.jtp?type=email&email=mamaco%40>>: > Hi
> Denis, > > Thank you for the response, I appreciate it. > Yes, I agree with
> you, it could be done by various solutions, 'REST', > 'Event Listener' or
> any standalone instance. > According to the new design you mentioned,
> ignite stop the support of ' >
> *setMemoryMode(CacheMemoryMode.ONHEAP_TIERED)*' use Off-Heap in default >
> and force a switch setOnheapCacheEnabled in 2.0.0+ version, however, if we
> > can't get the entries straight from on-heap, what do on-heap policies
> stand > for (sort/fifo/random). Because no matter what we do, it returns
> the whole > thing. or the goal is just to make a faster cache? I don't mean
> to be > negative, I'm just curious about the truth under the hood. > >
> Marco > ------------------------------ > Sent from the Apache Ignite Users
> mailing list archive > <http://apache-ignite-users.70518.x6.nabble.com/>
> at Nabble.com. >
>
>
> ------------------------------
> Sent from the Apache Ignite Users mailing list archive
> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>

Re: SortedEvictionPolicy doesn't work as expected

Posted by mamaco <ma...@163.com>.
Everything is clear now, our product version is ignite 1.7, now considering
2.3 migration, the whole conversation is very important to us, especially
the key point of how Off-Heap works.

Thank you so much.

Marco


Denis Mekhanikov wrote
> No, It's not like that.
> 
> You can access any entry from any node, but access time will be different.
> If an entry is stored on a different node, Ignite will make a network
> request to that node and return it to you.
> If the entry is available locally, then the access time will be lower.
> And if you configure an oh-heap caching, and an entry is available
> locally,
> then the access time will be even lower.
> 
> So, on-heap cache doesn't affect availability of records, it's just an
> internal enhancement to make access to some entries faster.
> If you enable it, you won't need to change any code, you will just get
> lower access time for some records, and higher memory consumption.
> 
> And eviction policy is not determining, which entries are stored in the
> cache, but the entries, which have lower access time from local nodes.
> 
> Denis
> 
> чт, 1 мар. 2018 г. в 1:36, mamaco &lt;

> mamaco@

> &gt;:
> 
>> So, that means even if I have a local cache with SortedEvictionPolicy
>> configured and OnHeap enabled,
>> it's still impossible to get the entries from a distributed partition
>> cache, because the source cache is not centralized.
>> And finally, the solution is to set a standalone SortedMap via
>> RemoteEventListener.
>>
>> Correct?
>>
>> Marco
>>
>> Denis Mekhanikov wrote
>> Marco, If you access some records, that are stored in the off-heap
>> memory,
>> then you have to wait, while Ignite is deserializing the data and copying
>> it to Java heap. But if the needed entry is already available in Java
>> heap,
>> Ignite doesn't have to perform these steps to return the result, it can
>> just give you what it already has. So, the idea behind a Java heap cache
>> is
>> to make access to some specific entries faster. The entries, that are
>> kept
>> on the heap will be accessed way faster, than the once, that are stored
>> in
>> off-heap memory. Note, that all of this is true only for the local
>> records.
>> If you have multiple nodes, and you do a lot of cross-node reads, then
>> Java
>> heap cache won't help you much. Denis ср, 28 февр. 2018 г. в 20:41,
>> mamaco <[hidden
>> email]
>> &lt;http:///user/SendEmail.jtp?type=email&amp;email=mamaco%40&gt;>: > Hi
>> Denis, > > Thank you for the response, I appreciate it. > Yes, I agree
>> with
>> you, it could be done by various solutions, 'REST', > 'Event Listener' or
>> any standalone instance. > According to the new design you mentioned,
>> ignite stop the support of ' >
>> *setMemoryMode(CacheMemoryMode.ONHEAP_TIERED)*' use Off-Heap in default >
>> and force a switch setOnheapCacheEnabled in 2.0.0+ version, however, if
>> we
>> > can't get the entries straight from on-heap, what do on-heap policies
>> stand > for (sort/fifo/random). Because no matter what we do, it returns
>> the whole > thing. or the goal is just to make a faster cache? I don't
>> mean
>> to be > negative, I'm just curious about the truth under the hood. > >
>> Marco > ------------------------------ > Sent from the Apache Ignite
>> Users
>> mailing list archive >
>> &lt;http://apache-ignite-users.70518.x6.nabble.com/&gt;
>> at Nabble.com. >
>>
>>
>> ------------------------------
>> Sent from the Apache Ignite Users mailing list archive
>> &lt;http://apache-ignite-users.70518.x6.nabble.com/&gt; at Nabble.com.
>>





--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/