You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by "HEWA WIDANA GAMAGE, SUBASH" <Su...@fmr.com> on 2018/11/02 18:35:30 UTC

Is there Ignite Eviction low water mark

Hi all,
This is to understand how eviction works in Ignite cache.

For example, let's say the LRU eviction policy is set to max 100MB. Then, when the cache size reached 100MB, how much of LRU entries will get evicted ? Is there any low water mark/percentage ? Like eviction policy will remove 20% of the cache, and then let it again reach back to 100MB to clean up again.

Also please confirm whether the behavior is same in Ignite 1.9 vs 2.6.

Re: Is there Ignite Eviction low water mark

Posted by Denis Mekhanikov <dm...@gmail.com>.
In 2.x page eviction removes entries from cache from all nodes,
and EVT_CACHE_ENTRY_EVICTED events are not triggered, when it happens.
Please file a JIRA issue, if you rely on this event:
https://issues.apache.org/jira/

> The implementation of eviction from 1.x to 2.x is a different, new one?
Yes, data storage and eviction mechanisms are completely different between
1.x and 2.x.

Denis

пн, 5 нояб. 2018 г. в 21:46, HEWA WIDANA GAMAGE, SUBASH <
Subash.HewaWidanaGamage@fmr.com>:

> In Ignite 1.x vs 2.x, when we get notified about an eviction (from cache
> events),  will Ignite literally delete the entry, or can they be remain
>  for certain period and later get wiped out.
>
>
>
> The implementation of eviction from 1.x to 2.x is a different, new one?
>
>
>
>
>
> *From:* Denis Mekhanikov [mailto:dmekhanikov@gmail.com]
> *Sent:* Monday, November 05, 2018 7:22 AM
> *To:* user
> *Subject:* Re: Is there Ignite Eviction low water mark
>
>
> This email is from an external source - exercise caution regarding links
> and attachments.
>
> Hi!
>
>
>
> Ignite 2.x has a mechanism called page eviction
> <https://apacheignite.readme.io/v2.6/docs/evictions#section-off-heap-memory>.
> It's configured using DataRegion#pageEvictionMode
> <https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/DataRegionConfiguration.html#setPageEvictionMode-org.apache.ignite.configuration.DataPageEvictionMode->
> .
>
> Page eviction removes entries from a data region until either
> DataRegionConfiguration#evictionThreshold
> <https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/DataRegionConfiguration.html#setEvictionThreshold-double-> is
> reached,
>
> or DataRegionConfiguration#emptyPagesPoolSize
> <https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/DataRegionConfiguration.html#setEmptyPagesPoolSize-int-> pages
> are available in the free list.
>
> It's applied only when persistence is disabled. Otherwise data is just
> spilled to disk.
>
>
>
> Ignite 1.x has a different kind of eviction, since it doesn't have page
> memory nor data regions.
>
> It removes data until occupied memory is bellow LruEvictionPolisy#maxSize
> <https://ignite.apache.org/releases/1.9.0/javadoc/org/apache/ignite/cache/eviction/lru/LruEvictionPolicy.html#setMaxSize(int)>
> .
>
> This is similar to on-heap eviction policy
> <https://apacheignite.readme.io/v2.6/docs/evictions#section-on-heap-cache>
> in Ignite 2.x, but you don't need to use it
>
> unless you know exactly what you're doing and what an on-heap cache is.
>
>
>
> Denis
>
>
>
> пт, 2 нояб. 2018 г. в 21:35, HEWA WIDANA GAMAGE, SUBASH <
> Subash.HewaWidanaGamage@fmr.com>:
>
> Hi all,
>
> This is to understand how eviction works in Ignite cache.
>
>
>
> For example, let’s say the LRU eviction policy is set to max 100MB. Then,
> when the cache size reached 100MB, how much of LRU entries will get evicted
> ? Is there any low water mark/percentage ? Like eviction policy will remove
> 20% of the cache, and then let it again reach back to 100MB to clean up
> again.
>
>
>
> Also please confirm whether the behavior is same in Ignite 1.9 vs 2.6.
>
>

RE: Is there Ignite Eviction low water mark

Posted by "HEWA WIDANA GAMAGE, SUBASH" <Su...@fmr.com>.
In Ignite 1.x vs 2.x, when we get notified about an eviction (from cache events),  will Ignite literally delete the entry, or can they be remain  for certain period and later get wiped out.

The implementation of eviction from 1.x to 2.x is a different, new one?


From: Denis Mekhanikov [mailto:dmekhanikov@gmail.com]
Sent: Monday, November 05, 2018 7:22 AM
To: user
Subject: Re: Is there Ignite Eviction low water mark

This email is from an external source - exercise caution regarding links and attachments.
Hi!

Ignite 2.x has a mechanism called page eviction<https://apacheignite.readme.io/v2.6/docs/evictions#section-off-heap-memory>. It's configured using DataRegion#pageEvictionMode<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/DataRegionConfiguration.html#setPageEvictionMode-org.apache.ignite.configuration.DataPageEvictionMode->.
Page eviction removes entries from a data region until either DataRegionConfiguration#evictionThreshold<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/DataRegionConfiguration.html#setEvictionThreshold-double-> is reached,
or DataRegionConfiguration#emptyPagesPoolSize<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/DataRegionConfiguration.html#setEmptyPagesPoolSize-int-> pages are available in the free list.
It's applied only when persistence is disabled. Otherwise data is just spilled to disk.

Ignite 1.x has a different kind of eviction, since it doesn't have page memory nor data regions.
It removes data until occupied memory is bellow LruEvictionPolisy#maxSize<https://ignite.apache.org/releases/1.9.0/javadoc/org/apache/ignite/cache/eviction/lru/LruEvictionPolicy.html#setMaxSize(int)>.
This is similar to on-heap eviction policy<https://apacheignite.readme.io/v2.6/docs/evictions#section-on-heap-cache> in Ignite 2.x, but you don't need to use it
unless you know exactly what you're doing and what an on-heap cache is.

Denis

пт, 2 нояб. 2018 г. в 21:35, HEWA WIDANA GAMAGE, SUBASH <Su...@fmr.com>>:
Hi all,
This is to understand how eviction works in Ignite cache.

For example, let’s say the LRU eviction policy is set to max 100MB. Then, when the cache size reached 100MB, how much of LRU entries will get evicted ? Is there any low water mark/percentage ? Like eviction policy will remove 20% of the cache, and then let it again reach back to 100MB to clean up again.

Also please confirm whether the behavior is same in Ignite 1.9 vs 2.6.

Re: Is there Ignite Eviction low water mark

Posted by Denis Mekhanikov <dm...@gmail.com>.
Hi!

Ignite 2.x has a mechanism called page eviction
<https://apacheignite.readme.io/v2.6/docs/evictions#section-off-heap-memory>.
It's configured using DataRegion#pageEvictionMode
<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/DataRegionConfiguration.html#setPageEvictionMode-org.apache.ignite.configuration.DataPageEvictionMode->
.
Page eviction removes entries from a data region until either
DataRegionConfiguration#evictionThreshold
<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/DataRegionConfiguration.html#setEvictionThreshold-double->
is
reached,
or DataRegionConfiguration#emptyPagesPoolSize
<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/DataRegionConfiguration.html#setEmptyPagesPoolSize-int->
pages
are available in the free list.
It's applied only when persistence is disabled. Otherwise data is just
spilled to disk.

Ignite 1.x has a different kind of eviction, since it doesn't have page
memory nor data regions.
It removes data until occupied memory is bellow LruEvictionPolisy#maxSize
<https://ignite.apache.org/releases/1.9.0/javadoc/org/apache/ignite/cache/eviction/lru/LruEvictionPolicy.html#setMaxSize(int)>
.
This is similar to on-heap eviction policy
<https://apacheignite.readme.io/v2.6/docs/evictions#section-on-heap-cache>
in Ignite 2.x, but you don't need to use it
unless you know exactly what you're doing and what an on-heap cache is.

Denis

пт, 2 нояб. 2018 г. в 21:35, HEWA WIDANA GAMAGE, SUBASH <
Subash.HewaWidanaGamage@fmr.com>:

> Hi all,
>
> This is to understand how eviction works in Ignite cache.
>
>
>
> For example, let’s say the LRU eviction policy is set to max 100MB. Then,
> when the cache size reached 100MB, how much of LRU entries will get evicted
> ? Is there any low water mark/percentage ? Like eviction policy will remove
> 20% of the cache, and then let it again reach back to 100MB to clean up
> again.
>
>
>
> Also please confirm whether the behavior is same in Ignite 1.9 vs 2.6.
>