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)

Reply via email to