This is an automated email from the ASF dual-hosted git repository.
ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 5ca805b7a2f IGNITE-27736 Remove PageMemory#start method (#7530)
5ca805b7a2f is described below
commit 5ca805b7a2f4da4d2838d225295699d5e9187305
Author: Ivan Bessonov <[email protected]>
AuthorDate: Wed Feb 4 16:32:19 2026 +0300
IGNITE-27736 Remove PageMemory#start method (#7530)
---
.../tree/AbstractBplusTreePageMemoryTest.java | 2 -
.../tree/ItBplusTreeReplaceRemoveRaceTest.java | 2 -
.../ignite/internal/pagememory/PageMemory.java | 5 -
.../pagememory/inmemory/VolatilePageMemory.java | 55 +++---
.../persistence/PersistentPageMemory.java | 204 ++++++---------------
.../pagememory/freelist/FreeListImplTest.java | 2 -
.../inmemory/VolatilePageMemoryNoLoadSelfTest.java | 5 +-
.../replacement/AbstractPageReplacementTest.java | 1 -
.../throttling/PageMemoryThrottlingTest.java | 1 -
.../AbstractPageMemoryNoLoadSelfTest.java | 8 -
.../benchmark/VolatilePageMemoryBenchmarkBase.java | 2 -
.../pagememory/PersistentPageMemoryDataRegion.java | 2 -
.../pagememory/VolatilePageMemoryDataRegion.java | 2 -
.../pagememory/PersistentPageMemoryNoLoadTest.java | 14 --
.../storage/pagememory/mv/BlobStorageTest.java | 2 -
15 files changed, 78 insertions(+), 229 deletions(-)
diff --git
a/modules/page-memory/src/integrationTest/java/org/apache/ignite/internal/pagememory/tree/AbstractBplusTreePageMemoryTest.java
b/modules/page-memory/src/integrationTest/java/org/apache/ignite/internal/pagememory/tree/AbstractBplusTreePageMemoryTest.java
index c5b04a3440c..b014c5154af 100644
---
a/modules/page-memory/src/integrationTest/java/org/apache/ignite/internal/pagememory/tree/AbstractBplusTreePageMemoryTest.java
+++
b/modules/page-memory/src/integrationTest/java/org/apache/ignite/internal/pagememory/tree/AbstractBplusTreePageMemoryTest.java
@@ -166,8 +166,6 @@ public abstract class AbstractBplusTreePageMemoryTest
extends BaseIgniteAbstract
pageMem = createPageMemory();
- pageMem.start();
-
reuseList = createReuseList(GROUP_ID, 0, pageMem, 0, true);
}
diff --git
a/modules/page-memory/src/integrationTest/java/org/apache/ignite/internal/pagememory/tree/ItBplusTreeReplaceRemoveRaceTest.java
b/modules/page-memory/src/integrationTest/java/org/apache/ignite/internal/pagememory/tree/ItBplusTreeReplaceRemoveRaceTest.java
index 6e64b053122..fef09030615 100644
---
a/modules/page-memory/src/integrationTest/java/org/apache/ignite/internal/pagememory/tree/ItBplusTreeReplaceRemoveRaceTest.java
+++
b/modules/page-memory/src/integrationTest/java/org/apache/ignite/internal/pagememory/tree/ItBplusTreeReplaceRemoveRaceTest.java
@@ -70,8 +70,6 @@ public class ItBplusTreeReplaceRemoveRaceTest extends
BaseIgniteAbstractTest {
@BeforeEach
protected void beforeEach() throws Exception {
pageMem = createPageMemory();
-
- pageMem.start();
}
@AfterEach
diff --git
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/PageMemory.java
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/PageMemory.java
index 4bc10a3ce21..d65c490ebb3 100644
---
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/PageMemory.java
+++
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/PageMemory.java
@@ -27,11 +27,6 @@ import
org.apache.ignite.internal.pagememory.io.PageIoRegistry;
*/
// TODO IGNITE-16350 Improve javadoc in this class.
public interface PageMemory extends PageIdAllocator, PageSupport {
- /**
- * Starts page memory.
- */
- void start() throws IgniteInternalException;
-
/**
* Stops page memory.
*
diff --git
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/inmemory/VolatilePageMemory.java
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/inmemory/VolatilePageMemory.java
index b612cc81770..1a3014bd30a 100644
---
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/inmemory/VolatilePageMemory.java
+++
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/inmemory/VolatilePageMemory.java
@@ -180,54 +180,43 @@ public class VolatilePageMemory implements PageMemory {
totalPages = (int) (this.dataRegionConfiguration.maxSizeBytes() /
sysPageSize);
this.rwLock = rwLock;
- }
- @Override
- public void start() throws IgniteInternalException {
- synchronized (segmentsLock) {
- if (started) {
- return;
- }
+ long startSize = dataRegionConfiguration.initSizeBytes();
+ long maxSize = dataRegionConfiguration.maxSizeBytes();
- started = true;
+ long[] chunks = new long[SEG_CNT];
- long startSize = dataRegionConfiguration.initSizeBytes();
- long maxSize = dataRegionConfiguration.maxSizeBytes();
+ chunks[0] = startSize;
- long[] chunks = new long[SEG_CNT];
+ long total = startSize;
- chunks[0] = startSize;
+ long allocChunkSize = Math.max((maxSize - startSize) / (SEG_CNT - 1),
256L * 1024 * 1024);
- long total = startSize;
+ int lastIdx = 0;
- long allocChunkSize = Math.max((maxSize - startSize) / (SEG_CNT -
1), 256L * 1024 * 1024);
+ for (int i = 1; i < SEG_CNT; i++) {
+ long allocSize = Math.min(allocChunkSize, maxSize - total);
- int lastIdx = 0;
+ if (allocSize <= 0) {
+ break;
+ }
- for (int i = 1; i < SEG_CNT; i++) {
- long allocSize = Math.min(allocChunkSize, maxSize - total);
+ chunks[i] = allocSize;
- if (allocSize <= 0) {
- break;
- }
+ total += allocSize;
- chunks[i] = allocSize;
+ lastIdx = i;
+ }
- total += allocSize;
+ if (lastIdx != SEG_CNT - 1) {
+ chunks = Arrays.copyOf(chunks, lastIdx + 1);
+ }
- lastIdx = i;
- }
+ directMemoryProvider.initialize(chunks);
- if (lastIdx != SEG_CNT - 1) {
- chunks = Arrays.copyOf(chunks, lastIdx + 1);
- }
+ addSegment(null);
- if (segments == null) {
- directMemoryProvider.initialize(chunks);
- }
-
- addSegment(null);
- }
+ started = true;
}
@Override
diff --git
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/PersistentPageMemory.java
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/PersistentPageMemory.java
index af5e76ba087..acf29f27ec0 100644
---
a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/PersistentPageMemory.java
+++
b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/PersistentPageMemory.java
@@ -78,6 +78,8 @@ import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import java.util.stream.IntStream;
+import java.util.stream.Stream;
import org.apache.ignite.internal.lang.IgniteInternalCheckedException;
import org.apache.ignite.internal.lang.IgniteInternalException;
import org.apache.ignite.internal.logger.IgniteLogger;
@@ -169,8 +171,8 @@ public class PersistentPageMemory implements PageMemory {
/** Direct memory allocator. */
private final DirectMemoryProvider directMemoryProvider;
- /** Segments array, {@code null} if not {@link #start() started}. */
- private volatile Segment @Nullable [] segments;
+ /** Segments array. */
+ private final Segment[] segments;
/** Lock for segments changes. */
private final Object segmentsLock = new Object();
@@ -195,8 +197,8 @@ public class PersistentPageMemory implements PageMemory {
/** See {@link #checkpointUrgency()}. */
private final AtomicReference<CheckpointUrgency> checkpointUrgency = new
AtomicReference<>(NOT_REQUIRED);
- /** Checkpoint page pool, {@code null} if not {@link #start() started}. */
- private volatile @Nullable PagePool checkpointPool;
+ /** Checkpoint page pool. */
+ private final PagePool checkpointPool;
/** Pages write throttle. */
private final @Nullable PagesWriteThrottlePolicy writeThrottle;
@@ -271,9 +273,35 @@ public class PersistentPageMemory implements PageMemory {
partitionDestructionLockManager
);
+ directMemoryProvider.initialize(sizes);
+
+ List<DirectMemoryRegion> regions = allocateRegions(sizes,
directMemoryProvider);
+
+ int regs = regions.size();
+
+ this.segments = IntStream.range(0, regs - 1).mapToObj(i -> new
Segment(i, regions.get(i))).toArray(Segment[]::new);
+
+ DirectMemoryRegion checkpointRegion = regions.get(regs - 1);
+ checkpointPool = new PagePool(regs - 1, checkpointRegion, sysPageSize,
rwLock);
+
// This is the last statement in the constructor, the `this` leak is
fine.
//noinspection ThisEscapedInObjectConstruction
this.writeThrottle =
dataRegionConfiguration.throttlingPolicyFactory().createThrottlingPolicy(this);
+
+ this.started = true;
+
+ if (LOG.isInfoEnabled()) {
+ LOG.info(
+ "Started page memory [name='{}', memoryAllocated={},
pages={}, tableSize={}, replacementSize={},"
+ + " checkpointBuffer={}]",
+ dataRegionConfiguration.name(),
+
readableSize(regions.stream().mapToLong(DirectMemoryRegion::size).sum(), false),
+ Stream.of(segments).mapToLong(Segment::pages).sum(),
+
readableSize(Stream.of(segments).mapToLong(Segment::tableSize).sum(), false),
+
readableSize(Stream.of(segments).mapToLong(Segment::replacementSize).sum(),
false),
+ readableSize(checkpointRegion.size(), false)
+ );
+ }
}
private static PageReplacementPolicyFactory
pickPageReplacementPolicyFactory(ReplacementMode replacementMode) {
@@ -289,74 +317,20 @@ public class PersistentPageMemory implements PageMemory {
}
}
- /** {@inheritDoc} */
- @Override
- public void start() throws IgniteInternalException {
- synchronized (segmentsLock) {
- if (started) {
- return;
- }
-
- started = true;
-
- directMemoryProvider.initialize(sizes);
-
- List<DirectMemoryRegion> regions = new ArrayList<>(sizes.length);
-
- while (true) {
- DirectMemoryRegion reg = directMemoryProvider.nextRegion();
-
- if (reg == null) {
- break;
- }
-
- regions.add(reg);
- }
-
- int regs = regions.size();
-
- Segment[] segments = new Segment[regs - 1];
-
- DirectMemoryRegion checkpointRegion = regions.get(regs - 1);
-
- checkpointPool = new PagePool(regs - 1, checkpointRegion,
sysPageSize, rwLock);
-
- long checkpointBufferSize = checkpointRegion.size();
-
- long totalAllocated = 0;
- int pages = 0;
- long totalTblSize = 0;
- long totalReplSize = 0;
-
- for (int i = 0; i < regs - 1; i++) {
- assert i < segments.length;
+ private static List<DirectMemoryRegion> allocateRegions(long[] sizes,
DirectMemoryProvider directMemoryProvider) {
+ List<DirectMemoryRegion> regions = new ArrayList<>(sizes.length);
- DirectMemoryRegion reg = regions.get(i);
+ while (true) {
+ DirectMemoryRegion reg = directMemoryProvider.nextRegion();
- totalAllocated += reg.size();
-
- segments[i] = new Segment(i, regions.get(i));
-
- pages += segments[i].pages();
- totalTblSize += segments[i].tableSize();
- totalReplSize += segments[i].replacementSize();
+ if (reg == null) {
+ break;
}
- this.segments = segments;
-
- if (LOG.isInfoEnabled()) {
- LOG.info(
- "Started page memory [name='{}', memoryAllocated={},
pages={}, tableSize={}, replacementSize={},"
- + " checkpointBuffer={}]",
- dataRegionConfiguration.name(),
- readableSize(totalAllocated, false),
- pages,
- readableSize(totalTblSize, false),
- readableSize(totalReplSize, false),
- readableSize(checkpointBufferSize, false)
- );
- }
+ regions.add(reg);
}
+
+ return regions;
}
/** {@inheritDoc} */
@@ -369,11 +343,8 @@ public class PersistentPageMemory implements PageMemory {
LOG.debug("Stopping page memory");
- Segment[] segments = this.segments;
- if (segments != null) {
- for (Segment seg : segments) {
- seg.close();
- }
+ for (Segment seg : segments) {
+ seg.close();
}
started = false;
@@ -525,7 +496,6 @@ public class PersistentPageMemory implements PageMemory {
assert started : "grpId=" + grpId + ", partId=" + partId;
assert checkpointTimeoutLock.checkpointLockIsHeldByThread() : "grpId="
+ grpId + ", partId=" + partId;
- PagesWriteThrottlePolicy writeThrottle = this.writeThrottle;
if (writeThrottle != null) {
writeThrottle.onMarkDirty(false);
}
@@ -860,11 +830,6 @@ public class PersistentPageMemory implements PageMemory {
* Returns total pages can be placed in all segments.
*/
public long totalPages() {
- Segment[] segments = this.segments;
- if (segments == null) {
- return 0;
- }
-
long res = 0;
for (Segment segment : segments) {
@@ -1001,21 +966,17 @@ public class PersistentPageMemory implements PageMemory {
public long loadedPages() {
long total = 0;
- Segment[] segments = this.segments;
-
- if (segments != null) {
- for (Segment seg : segments) {
- seg.readLock().lock();
-
- try {
- if (seg.closed) {
- continue;
- }
+ for (Segment seg : segments) {
+ seg.readLock().lock();
- total += seg.loadedPages.size();
- } finally {
- seg.readLock().unlock();
+ try {
+ if (seg.closed) {
+ continue;
}
+
+ total += seg.loadedPages.size();
+ } finally {
+ seg.readLock().unlock();
}
}
@@ -1026,11 +987,6 @@ public class PersistentPageMemory implements PageMemory {
* Returns the count of dirty pages across all segments.
*/
public long dirtyPagesCount() {
- Segment[] segments = this.segments;
- if (segments == null) {
- return 0;
- }
-
long total = 0;
for (Segment seg : segments) {
@@ -1054,11 +1010,6 @@ public class PersistentPageMemory implements PageMemory {
* Returns total number of acquired pages.
*/
public long acquiredPages() {
- Segment[] segments = this.segments;
- if (segments == null) {
- return 0L;
- }
-
long total = 0;
for (Segment seg : segments) {
@@ -1162,8 +1113,6 @@ public class PersistentPageMemory implements PageMemory {
if (isInCheckpoint(dirtyFullId) && tempBufferPointer(absPtr) ==
INVALID_REL_PTR) {
long tmpRelPtr;
- PagePool checkpointPool = this.checkpointPool;
-
while (true) {
tmpRelPtr =
checkpointPool.borrowOrAllocateFreePage(tag(fullId.pageId()));
@@ -1235,7 +1184,6 @@ public class PersistentPageMemory implements PageMemory {
assert getVersion(page + PAGE_OVERHEAD) != 0 :
dumpPage(pageId, fullId.groupId());
assert getType(page + PAGE_OVERHEAD) != 0 : hexLong(pageId);
- PagesWriteThrottlePolicy writeThrottle = this.writeThrottle;
if (writeThrottle != null && !restore && !wasDirty &&
markDirty) {
writeThrottle.onMarkDirty(isInCheckpoint(dirtyFullPageId(page)));
}
@@ -1284,11 +1232,6 @@ public class PersistentPageMemory implements PageMemory {
* Returns the number of active pages across all segments. Used for test
purposes only.
*/
public int activePagesCount() {
- Segment[] segments = this.segments;
- if (segments == null) {
- return 0;
- }
-
int total = 0;
for (Segment seg : segments) {
@@ -1373,11 +1316,6 @@ public class PersistentPageMemory implements PageMemory {
*/
@TestOnly
public Set<DirtyFullPageId> dirtyPages() {
- Segment[] segments = this.segments;
- if (segments == null) {
- return Set.of();
- }
-
var res = new HashSet<DirtyFullPageId>();
for (Segment seg : segments) {
@@ -1391,11 +1329,6 @@ public class PersistentPageMemory implements PageMemory {
* Returns max dirty pages ratio among all segments.
*/
public double dirtyPagesRatio() {
- Segment[] segments = this.segments;
- if (segments == null) {
- return 0;
- }
-
long res = 0;
for (Segment segment : segments) {
@@ -1882,12 +1815,6 @@ public class PersistentPageMemory implements PageMemory {
* @param dirtyRatioThreshold Max allowed dirty pages ration.
*/
public boolean shouldThrottle(double dirtyRatioThreshold) {
- Segment[] segments = this.segments;
-
- if (segments == null) {
- return false;
- }
-
for (Segment segment : segments) {
if (segment.shouldThrottle(dirtyRatioThreshold)) {
return true;
@@ -1901,27 +1828,19 @@ public class PersistentPageMemory implements PageMemory
{
* Returns number of pages used in checkpoint buffer.
*/
public int usedCheckpointBufferPages() {
- PagePool checkpointPool = this.checkpointPool;
-
- return checkpointPool == null ? 0 : checkpointPool.size();
+ return checkpointPool.size();
}
/**
* Returns max number of pages in checkpoint buffer.
*/
public int maxCheckpointBufferPages() {
- PagePool checkpointPool = this.checkpointPool;
-
- return checkpointPool == null ? 0 : checkpointPool.pages();
+ return checkpointPool.pages();
}
private void releaseCheckpointBufferPage(long tmpBufPtr) {
- PagePool checkpointPool = this.checkpointPool;
- assert checkpointPool != null;
-
int resultCounter = checkpointPool.releaseFreePage(tmpBufPtr);
- PagesWriteThrottlePolicy writeThrottle = this.writeThrottle;
if (writeThrottle != null && resultCounter == checkpointPool.pages() /
2) {
writeThrottle.wakeupThrottledThreads();
}
@@ -2218,10 +2137,7 @@ public class PersistentPageMemory implements PageMemory {
* @throws IgniteInternalException If checkpoint has been already started
and was not finished.
*/
public Collection<DirtyFullPageId> beginCheckpoint(CheckpointProgress
checkpointProgress) throws IgniteInternalException {
- if (segments == null) {
- return List.of();
- }
-
+ @SuppressWarnings("unchecked")
Set<DirtyFullPageId>[] dirtyPageIds = new Set[segments.length];
for (int i = 0; i < segments.length; i++) {
@@ -2242,7 +2158,6 @@ public class PersistentPageMemory implements PageMemory {
checkpointUrgency.set(NOT_REQUIRED);
- PagesWriteThrottlePolicy writeThrottle = this.writeThrottle;
if (writeThrottle != null) {
writeThrottle.onBeginCheckpoint();
}
@@ -2254,18 +2169,12 @@ public class PersistentPageMemory implements PageMemory
{
* Finishes checkpoint operation.
*/
public void finishCheckpoint() {
- Segment[] segments = this.segments;
- if (segments == null) {
- return;
- }
-
synchronized (segmentsLock) {
for (Segment seg : segments) {
seg.checkpointPages = null;
}
}
- PagesWriteThrottlePolicy writeThrottle = this.writeThrottle;
if (writeThrottle != null) {
writeThrottle.onFinishCheckpoint();
}
@@ -2275,15 +2184,12 @@ public class PersistentPageMemory implements PageMemory
{
* Checks if the Checkpoint Buffer is currently close to exhaustion.
*/
public boolean isCpBufferOverflowThresholdExceeded() {
- PagesWriteThrottlePolicy writeThrottle = this.writeThrottle;
if (writeThrottle != null) {
return writeThrottle.isCpBufferOverflowThresholdExceeded();
}
assert started;
- PagePool checkpointPool = this.checkpointPool;
-
//noinspection NumericCastThatLosesPrecision
int checkpointBufLimit = (int) (checkpointPool.pages() *
CP_BUF_FILL_THRESHOLD);
diff --git
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/freelist/FreeListImplTest.java
b/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/freelist/FreeListImplTest.java
index 16e168c66a7..d5e33bf233d 100644
---
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/freelist/FreeListImplTest.java
+++
b/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/freelist/FreeListImplTest.java
@@ -128,8 +128,6 @@ public class FreeListImplTest extends
BaseIgniteAbstractTest {
private FreeList createFreeList(int pageSize) throws Exception {
pageMemory = createPageMemory(pageSize);
- pageMemory.start();
-
long metaPageId = pageMemory.allocatePageNoReuse(1, 1, FLAG_DATA);
return new FreeListImpl(
diff --git
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/inmemory/VolatilePageMemoryNoLoadSelfTest.java
b/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/inmemory/VolatilePageMemoryNoLoadSelfTest.java
index 803c9a814ab..653a6145d92 100644
---
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/inmemory/VolatilePageMemoryNoLoadSelfTest.java
+++
b/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/inmemory/VolatilePageMemoryNoLoadSelfTest.java
@@ -22,7 +22,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import org.apache.ignite.internal.pagememory.AbstractPageMemoryNoLoadSelfTest;
-import org.apache.ignite.internal.pagememory.PageMemory;
import
org.apache.ignite.internal.pagememory.configuration.VolatileDataRegionConfiguration;
import org.apache.ignite.internal.pagememory.io.PageIoRegistry;
import org.apache.ignite.internal.pagememory.mem.IgniteOutOfMemoryException;
@@ -51,9 +50,7 @@ public class VolatilePageMemoryNoLoadSelfTest extends
AbstractPageMemoryNoLoadSe
@Test
public void testLoadedPagesCount() {
- PageMemory mem = memory();
-
- mem.start();
+ VolatilePageMemory mem = memory();
int expPages = MAX_MEMORY_SIZE / mem.systemPageSize();
diff --git
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/replacement/AbstractPageReplacementTest.java
b/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/replacement/AbstractPageReplacementTest.java
index a999a0a49d5..0b43282d764 100644
---
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/replacement/AbstractPageReplacementTest.java
+++
b/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/replacement/AbstractPageReplacementTest.java
@@ -182,7 +182,6 @@ public abstract class AbstractPageReplacementTest extends
IgniteAbstractTest {
filePageStoreManager.start();
checkpointManager.start();
- pageMemory.start();
metricSet = metricSource.enable();
createPartitionFilePageStoresIfMissing();
diff --git
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/throttling/PageMemoryThrottlingTest.java
b/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/throttling/PageMemoryThrottlingTest.java
index ce28cc0a28c..d726d47051f 100644
---
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/throttling/PageMemoryThrottlingTest.java
+++
b/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/throttling/PageMemoryThrottlingTest.java
@@ -184,7 +184,6 @@ public class PageMemoryThrottlingTest extends
IgniteAbstractTest {
);
pageStoreManager.start();
- pageMemory.start();
dataRegion = new TestDataRegion<>(pageMemory);
dataRegions.add(dataRegion);
diff --git
a/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/AbstractPageMemoryNoLoadSelfTest.java
b/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/AbstractPageMemoryNoLoadSelfTest.java
index 37a9214dc8e..448c5ec8709 100644
---
a/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/AbstractPageMemoryNoLoadSelfTest.java
+++
b/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/AbstractPageMemoryNoLoadSelfTest.java
@@ -55,8 +55,6 @@ public abstract class AbstractPageMemoryNoLoadSelfTest
extends BaseIgniteAbstrac
public void testPageTearingInner() throws Exception {
PageMemory mem = memory();
- mem.start();
-
try {
FullPageId fullId1 = allocatePage(mem);
FullPageId fullId2 = allocatePage(mem);
@@ -94,8 +92,6 @@ public abstract class AbstractPageMemoryNoLoadSelfTest
extends BaseIgniteAbstrac
public void testPageTearingSequential() throws Exception {
PageMemory mem = memory();
- mem.start();
-
try {
int pagesCnt = 1024;
@@ -143,8 +139,6 @@ public abstract class AbstractPageMemoryNoLoadSelfTest
extends BaseIgniteAbstrac
public void testPageHandleDeallocation() throws Exception {
PageMemory mem = memory();
- mem.start();
-
try {
int pages = 3 * 1024 * 1024 / (8 * 1024);
@@ -170,8 +164,6 @@ public abstract class AbstractPageMemoryNoLoadSelfTest
extends BaseIgniteAbstrac
public void testPageIdRotation() throws Exception {
PageMemory mem = memory();
- mem.start();
-
try {
int pages = 5;
diff --git
a/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/benchmark/VolatilePageMemoryBenchmarkBase.java
b/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/benchmark/VolatilePageMemoryBenchmarkBase.java
index 88ba67c9105..ccc85765d10 100644
---
a/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/benchmark/VolatilePageMemoryBenchmarkBase.java
+++
b/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/benchmark/VolatilePageMemoryBenchmarkBase.java
@@ -68,8 +68,6 @@ public class VolatilePageMemoryBenchmarkBase {
new
OffheapReadWriteLock(OffheapReadWriteLock.DEFAULT_CONCURRENCY_LEVEL)
);
- volatilePageMemory.start();
-
freeList = new FreeListImpl(
"freeList",
GROUP_ID,
diff --git
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/PersistentPageMemoryDataRegion.java
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/PersistentPageMemoryDataRegion.java
index 0d706b0ed7b..f7abd99c1d1 100644
---
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/PersistentPageMemoryDataRegion.java
+++
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/PersistentPageMemoryDataRegion.java
@@ -191,8 +191,6 @@ public class PersistentPageMemoryDataRegion implements
DataRegion<PersistentPage
checkpointManager.partitionDestructionLockManager()
);
- pageMemory.start();
-
initMetrics();
metricManager.registerSource(metricSource);
diff --git
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/VolatilePageMemoryDataRegion.java
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/VolatilePageMemoryDataRegion.java
index 0d1e11e9e9c..62d75d8859a 100644
---
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/VolatilePageMemoryDataRegion.java
+++
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/VolatilePageMemoryDataRegion.java
@@ -97,8 +97,6 @@ public class VolatilePageMemoryDataRegion implements
DataRegion<VolatilePageMemo
var pageMemory = new VolatilePageMemory(regionConfiguration,
ioRegistry, new OffheapReadWriteLock(lockConcLvl));
- pageMemory.start();
-
try {
this.freeList = createFreeList(pageMemory);
} catch (IgniteInternalCheckedException e) {
diff --git
a/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/PersistentPageMemoryNoLoadTest.java
b/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/PersistentPageMemoryNoLoadTest.java
index ff1847fed0a..8506d6b16c3 100644
---
a/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/PersistentPageMemoryNoLoadTest.java
+++
b/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/PersistentPageMemoryNoLoadTest.java
@@ -177,8 +177,6 @@ public class PersistentPageMemoryNoLoadTest extends
AbstractPageMemoryNoLoadSelf
checkpointManager.start();
- pageMemory.start();
-
try {
initGroupFilePageStores(filePageStoreManager,
partitionMetaManager, checkpointManager, pageMemory);
@@ -244,8 +242,6 @@ public class PersistentPageMemoryNoLoadTest extends
AbstractPageMemoryNoLoadSelf
checkpointManager.start();
- pageMemory.start();
-
try {
initGroupFilePageStores(filePageStoreManager,
partitionMetaManager, checkpointManager, pageMemory);
@@ -327,8 +323,6 @@ public class PersistentPageMemoryNoLoadTest extends
AbstractPageMemoryNoLoadSelf
checkpointManager.start();
- pageMemory.start();
-
try {
initGroupFilePageStores(filePageStoreManager,
partitionMetaManager, checkpointManager, pageMemory);
@@ -391,8 +385,6 @@ public class PersistentPageMemoryNoLoadTest extends
AbstractPageMemoryNoLoadSelf
checkpointManager.start();
- pageMemory.start();
-
CompletableFuture<?> startWriteMetaToBufferFuture = new
CompletableFuture<>();
CompletableFuture<?> finishWaitWriteMetaToBufferFuture = new
CompletableFuture<>();
@@ -490,7 +482,6 @@ public class PersistentPageMemoryNoLoadTest extends
AbstractPageMemoryNoLoadSelf
filePageStoreManager.start();
checkpointManager.start();
- pageMemory.start();
try {
initGroupFilePageStores(filePageStoreManager,
partitionMetaManager, checkpointManager, pageMemory);
@@ -530,7 +521,6 @@ public class PersistentPageMemoryNoLoadTest extends
AbstractPageMemoryNoLoadSelf
filePageStoreManager.start();
checkpointManager.start();
- pageMemory2.start();
try {
initGroupFilePageStores(filePageStoreManager,
partitionMetaManager, checkpointManager, pageMemory2);
@@ -697,8 +687,6 @@ public class PersistentPageMemoryNoLoadTest extends
AbstractPageMemoryNoLoadSelf
public void testLoadedPagesCount() {
PageMemory mem = memory();
- mem.start();
-
int expPages = MAX_MEMORY_SIZE / mem.systemPageSize();
try {
@@ -765,8 +753,6 @@ public class PersistentPageMemoryNoLoadTest extends
AbstractPageMemoryNoLoadSelf
private void
runWithStartedPersistentPageMemory(ConsumerX<PersistentPageMemory> c) throws
Exception {
PersistentPageMemory mem = (PersistentPageMemory) memory();
- mem.start();
-
try {
c.accept(mem);
} finally {
diff --git
a/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/mv/BlobStorageTest.java
b/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/mv/BlobStorageTest.java
index c9996758050..6b87edf47d0 100644
---
a/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/mv/BlobStorageTest.java
+++
b/modules/storage-page-memory/src/test/java/org/apache/ignite/internal/storage/pagememory/mv/BlobStorageTest.java
@@ -78,8 +78,6 @@ class BlobStorageTest extends BaseIgniteAbstractTest {
new
OffheapReadWriteLock(OffheapReadWriteLock.DEFAULT_CONCURRENCY_LEVEL)
));
- pageMemory.start();
-
blobStorage = new BlobStorage(reuseList, pageMemory, 1, 1);
}