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);
     }
 

Reply via email to