[ 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)