[
https://issues.apache.org/jira/browse/IGNITE-12510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivan Rakov updated IGNITE-12510:
--------------------------------
Labels: newbie (was: )
> In-memory page eviction may fail in case very large entries are stored in the
> cache
> -----------------------------------------------------------------------------------
>
> Key: IGNITE-12510
> URL: https://issues.apache.org/jira/browse/IGNITE-12510
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 2.7.6
> Reporter: Ivan Rakov
> Priority: Major
> Labels: newbie
>
> In-memory page eviction (both DataPageEvictionMode#RANDOM_LRU and
> DataPageEvictionMode#RANDOM_2_LRU) has limited number of attempts to choose
> candidate page for data removal:
> {code:java}
> if (sampleSpinCnt > SAMPLE_SPIN_LIMIT) { // 5000
> LT.warn(log, "Too many attempts to choose data page: " +
> SAMPLE_SPIN_LIMIT);
> return;
> }
> {code}
> Large data entries are stored in several data pages which are sequentially
> linked to each other. Only "head" pages are suitable as candidates for
> eviction, because the whole entry is available only from "head" page (list of
> pages is singly linked; there are no reverse links from tail to head).
> The problem is that if we put very large entries to evictable cache (e.g.
> each entry needs more than 5000 pages to be stored), there are too few head
> pages and "Too many attempts to choose data page" error is likely to show up.
> We need to perform something like full scan if we failed to find a head page
> in SAMPLE_SPIN_LIMIT attempts instead of just failing node with error.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)