Hi John,

1. Actually it is. By default data page eviction is disabled (DataPageEvictionMode.DISABLED) and when no memory left, it will throw IgniteOutOfMemoryException. 2. If you have enabled persistence - no data will be lost, dirty pages will be written do disk. In other words Ignite starts swapping pages between memory and drive using RANDOM_LRU eviction mode. 3. Ignite 2.0+ works only with pages, so you cannot set eviction per entry. If page was modified - it will be marked as dirty and fully written to disk.

Thanks!
-Dmitry.

04.09.2017 21:33, John Wilson пишет:
I appreciate the nice explanation. I got a few more questions:

 1. For the case where on-heap caching and persistent are both
    disabled, why does Ignite throw out out-dated pages from off-heap?
    Why not throw OOM error since the out-dated pages are not backed
    by persistent store and throwing away results in data loss?
 2. For off-heap eviction with persistent store enabled, will entries
    evicted from data pages be written to disk (in case they are
    dirty) or will they be thrown away (which would imply that entries
    eligible for eviction must be clean and have already been written
    to disk by checkpointing)?
 3.  Checkpointing works by locating dirty pages and writing them out.
    If a single entry in a data page is dirty (has been updated since
    the last check pointing), will checkpointing write the entire data
    page (all entries) to the partition files or just the dirty entry?

Thanks!

On Mon, Sep 4, 2017 at 8:17 AM, dkarachentsev <[email protected] <mailto:[email protected]>> wrote:

    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.



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



Reply via email to