Vladimir Steshin created IGNITE-20138:
-----------------------------------------
Summary: PageMemory should use actual dataregion's checkpointer.
Key: IGNITE-20138
URL: https://issues.apache.org/jira/browse/IGNITE-20138
Project: Ignite
Issue Type: Improvement
Reporter: Vladimir Steshin
We create PageMemoryImpl as:
{code:java}
PageMemoryImpl pageMem = new PageMemoryImpl(
wrapMetricsPersistentMemoryProvider(memProvider, regMetrics),
calculateFragmentSizes(
regCfg.getName(),
dsCfg.getConcurrencyLevel(),
cacheSize,
chpBufSize
),
cctx,
pageMgr,
dsCfg.getPageSize(),
(fullId, pageBuf, tag) -> {
regMetrics.onPageWritten();
// Write page to disk.
pageMgr.write(fullId.groupId(), fullId.pageId(), pageBuf, tag,
true);
getCheckpointer().currentProgress().updateEvictedPages(1);
},
trackable,
this,
regMetrics,
regCfg,
resolveThrottlingPolicy(),
() -> getCheckpointer().currentProgress()
);
{code}
Where `getCheckpointer()` and the `CheckpointLockStateChecker stateChecker`
constructor parameter can be bound to other data region. For instance,
defragmentation uses own reqion and own checkpointer. See IGNITE-19904
--
This message was sent by Atlassian Jira
(v8.20.10#820010)