Interface PageEvictionTracker
-
- All Superinterfaces:
LifecycleAware
- All Known Implementing Classes:
FairFifoPageEvictionTracker,NoOpPageEvictionTracker,PageAbstractEvictionTracker,Random2LruPageEvictionTracker,RandomLruPageEvictionTracker
public interface PageEvictionTracker extends LifecycleAware
Entry point for per-page eviction. Accepts information about touching data pages, capable of evicting "the least needed" page (according to implemented eviction algorithm).
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidevictDataPage()Evicts one data page.booleanevictionRequired()Check if page eviction is required according to the configured policy.voidforgetPage(long pageId)Call this method when last entry is removed from data page.voidtouchPage(long pageId)Call this method when data page is accessed.-
Methods inherited from interface org.apache.ignite.lifecycle.LifecycleAware
start, stop
-
-
-
-
Method Detail
-
touchPage
void touchPage(long pageId) throws IgniteCheckedExceptionCall this method when data page is accessed.- Parameters:
pageId- Page id.- Throws:
IgniteCheckedException- In case of page memory error.
-
evictionRequired
boolean evictionRequired()
Check if page eviction is required according to the configured policy.- Returns:
Trueif eviction required.
-
evictDataPage
void evictDataPage() throws IgniteCheckedExceptionEvicts one data page. In most cases, all entries will be removed from the page. Method guarantees removing at least one entry from "evicted" data page. Removing all entries may be not possible, as some of them can be used by active transactions.- Throws:
IgniteCheckedException- In case of page memory error.
-
forgetPage
void forgetPage(long pageId) throws IgniteCheckedExceptionCall this method when last entry is removed from data page.- Parameters:
pageId- Page id.- Throws:
IgniteCheckedException- In case of page memory error.
-
-