Hi,

Assume you have disabled onheapCahe and disabled persistence. In that case you may configure only datapage eviction mode, then outdated pages will be thrown away, when no free memory will be available for Ignite. Also you cannot configure per-entry eviction.

OK, if you enable onheapCache, then Ignite will store on heap every entry that was read from off-heap (or disk). Next reads of it will not require off-heap readings, and every update will write to off-heap. To limit size of onheapCache you may set CacheConfiguration.setEvictionPolicy(), but it will not evict off-heap entries.

So, off-heap eviction may be controlled with DataPageEvictionMode only, and as you suggested, it clears entries one-by-one from page, checking for current locks (transaction locks as well). If entry is locked, it won't be evicted.

Thanks!
-Dmitry.

02.09.2017 02:12, John Wilson пишет:
Hi,

I have been reading through Ignite doc and I still have these questions. I appreciate your answer.

Assume my Ignite native persistence is *not *enabled:

 1. if on-heap cache is also not enabled, then there are no
    entry-based evictions, right?
 2. if on-heap cache is now enabled, does a write to on-heap cache
    also results in a write-through or write-behind behavior to the
    off-heap entry?
 3. If on-heap cache is not enabled but data page eviction mode is
    enabled, then where do evicted pages from off-heap go/written to?

and, need confirmation on how data page eviction is implemented:

4. when a data page eviction is initiated, Ignite works by iterating through each entry in the page and evicting entries one by one. It may happen that certain entries may be involved in active transactions and hence certain entries may not be evicted at all.


Thanks,

Reply via email to