This is an automated email from the ASF dual-hosted git repository.

apolovtsev 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 78940340279 IGNITE-28432 Add storage name to segstore (#7953)
78940340279 is described below

commit 78940340279c0c8d8c773ffc9fceaa403d579ca3
Author: Alexander Polovtcev <[email protected]>
AuthorDate: Wed Apr 8 12:01:06 2026 +0300

    IGNITE-28432 Add storage name to segstore (#7953)
---
 .../raft/storage/segstore/RaftLogCheckpointer.java     |  3 ++-
 .../raft/storage/segstore/RaftLogGarbageCollector.java |  3 ++-
 .../raft/storage/segstore/SegmentFileManager.java      | 18 +++++++++++++++---
 .../raft/storage/segstore/RaftLogCheckpointerTest.java |  9 ++++++++-
 .../storage/segstore/RaftLogGarbageCollectorTest.java  |  3 +++
 .../raft/storage/segstore/RaftLogGcSoftLimitTest.java  |  1 +
 .../segstore/SegmentFileManagerGetEntryTest.java       |  1 +
 .../raft/storage/segstore/SegmentFileManagerTest.java  |  1 +
 .../segstore/SegstoreLogStorageConcurrencyTest.java    |  1 +
 .../raft/storage/segstore/SegstoreLogStorageTest.java  |  1 +
 10 files changed, 35 insertions(+), 6 deletions(-)

diff --git 
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogCheckpointer.java
 
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogCheckpointer.java
index 724e080e067..8a9b87682a2 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogCheckpointer.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogCheckpointer.java
@@ -66,6 +66,7 @@ class RaftLogCheckpointer {
 
     RaftLogCheckpointer(
             String nodeName,
+            String storageName,
             IndexFileManager indexFileManager,
             FailureProcessor failureProcessor,
             int maxQueueSize,
@@ -76,7 +77,7 @@ class RaftLogCheckpointer {
         this.beforeIndexFileCreated = beforeIndexFileCreated;
 
         queue = new CheckpointQueue(maxQueueSize);
-        checkpointThread = new IgniteThread(nodeName, "segstore-checkpoint", 
new CheckpointTask());
+        checkpointThread = new IgniteThread(nodeName, "segstore-checkpoint-" + 
storageName, new CheckpointTask());
     }
 
     void start() {
diff --git 
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGarbageCollector.java
 
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGarbageCollector.java
index 3b09ad808e6..9bea071197b 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGarbageCollector.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGarbageCollector.java
@@ -98,6 +98,7 @@ class RaftLogGarbageCollector {
 
     RaftLogGarbageCollector(
             String nodeName,
+            String storageName,
             Path segmentFilesDir,
             IndexFileManager indexFileManager,
             long softLimitBytes,
@@ -110,7 +111,7 @@ class RaftLogGarbageCollector {
         this.strategy = strategy;
         this.failureProcessor = failureProcessor;
 
-        gcThread = new IgniteThread(nodeName, "segstore-gc", new GcTask());
+        gcThread = new IgniteThread(nodeName, "segstore-gc-" + storageName, 
new GcTask());
     }
 
     void start() throws IOException {
diff --git 
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManager.java
 
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManager.java
index 9c3a0c1a62b..83ec684d76a 100644
--- 
a/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManager.java
+++ 
b/modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManager.java
@@ -115,6 +115,8 @@ class SegmentFileManager implements ManuallyCloseable {
      */
     static final byte[] SWITCH_SEGMENT_RECORD = new byte[8]; // 8 zero bytes.
 
+    private final String storageName;
+
     private final Path segmentFilesDir;
 
     /** Number of stripes used by the index memtable. Should be equal to the 
number of stripes in the Raft server's Disruptor. */
@@ -156,13 +158,18 @@ class SegmentFileManager implements ManuallyCloseable {
 
     SegmentFileManager(
             String nodeName,
+            String storageName,
             Path baseDir,
             int stripes,
             FailureProcessor failureProcessor,
             RaftConfiguration raftConfiguration,
             LogStorageConfiguration storageConfiguration
     ) throws IOException {
-        this.segmentFilesDir = baseDir.resolve("segments");
+        this.storageName = storageName;
+
+        Path storageDir = baseDir.resolve(storageName);
+
+        this.segmentFilesDir = storageDir.resolve("segments");
         this.stripes = stripes;
         this.isSync = raftConfiguration.fsync().value();
 
@@ -174,10 +181,11 @@ class SegmentFileManager implements ManuallyCloseable {
 
         maxLogEntrySize = maxLogEntrySize(logStorageView);
 
-        indexFileManager = new IndexFileManager(baseDir);
+        indexFileManager = new IndexFileManager(storageDir);
 
         garbageCollector = new RaftLogGarbageCollector(
                 nodeName,
+                storageName,
                 segmentFilesDir,
                 indexFileManager,
                 logStorageView.softLogSizeLimitBytes(),
@@ -187,6 +195,7 @@ class SegmentFileManager implements ManuallyCloseable {
 
         checkpointer = new RaftLogCheckpointer(
                 nodeName,
+                storageName,
                 indexFileManager,
                 failureProcessor,
                 logStorageView.maxCheckpointQueueSize(),
@@ -195,7 +204,10 @@ class SegmentFileManager implements ManuallyCloseable {
     }
 
     void start() throws IOException {
-        LOG.info("Starting segment file manager [segmentFilesDir={}, 
fileSize={}].", segmentFilesDir, segmentFileSize);
+        LOG.info(
+                "Starting segment file manager [storageName={}, 
segmentFilesDir={}, fileSize={}].",
+                storageName, segmentFilesDir, segmentFileSize
+        );
 
         indexFileManager.cleanupLeftoverFiles();
         garbageCollector.cleanupLeftoverFiles();
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogCheckpointerTest.java
 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogCheckpointerTest.java
index 24ae9a1ec56..43861cbf5ae 100644
--- 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogCheckpointerTest.java
+++ 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogCheckpointerTest.java
@@ -60,7 +60,14 @@ class RaftLogCheckpointerTest extends BaseIgniteAbstractTest 
{
 
     @BeforeEach
     void setUp() {
-        checkpointer = new RaftLogCheckpointer(NODE_NAME, indexFileManager, 
new NoOpFailureManager(), MAX_QUEUE_SIZE, size -> {});
+        checkpointer = new RaftLogCheckpointer(
+                NODE_NAME,
+                NODE_NAME,
+                indexFileManager,
+                new NoOpFailureManager(),
+                MAX_QUEUE_SIZE,
+                size -> {}
+        );
 
         checkpointer.start();
     }
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGarbageCollectorTest.java
 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGarbageCollectorTest.java
index 6cf9db8d3ef..82fc9182380 100644
--- 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGarbageCollectorTest.java
+++ 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGarbageCollectorTest.java
@@ -89,6 +89,7 @@ class RaftLogGarbageCollectorTest extends IgniteAbstractTest {
     @BeforeEach
     void setUp() throws IOException {
         fileManager = new SegmentFileManager(
+                NODE_NAME,
                 NODE_NAME,
                 workDir,
                 STRIPES,
@@ -411,6 +412,7 @@ class RaftLogGarbageCollectorTest extends 
IgniteAbstractTest {
         fileManager.close();
 
         fileManager = new SegmentFileManager(
+                NODE_NAME,
                 NODE_NAME,
                 workDir,
                 STRIPES,
@@ -736,6 +738,7 @@ class RaftLogGarbageCollectorTest extends 
IgniteAbstractTest {
         fileManager.close();
 
         fileManager = new SegmentFileManager(
+                NODE_NAME,
                 NODE_NAME,
                 workDir,
                 STRIPES,
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGcSoftLimitTest.java
 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGcSoftLimitTest.java
index c6552a0386a..ae4ee28888e 100644
--- 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGcSoftLimitTest.java
+++ 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/RaftLogGcSoftLimitTest.java
@@ -86,6 +86,7 @@ class RaftLogGcSoftLimitTest extends IgniteAbstractTest {
     @BeforeEach
     void setUp() throws IOException {
         fileManager = new SegmentFileManager(
+                NODE_NAME,
                 NODE_NAME,
                 workDir,
                 STRIPES,
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManagerGetEntryTest.java
 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManagerGetEntryTest.java
index c0eb09c6b53..3d98d751717 100644
--- 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManagerGetEntryTest.java
+++ 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManagerGetEntryTest.java
@@ -83,6 +83,7 @@ class SegmentFileManagerGetEntryTest extends 
IgniteAbstractTest {
             LogStorageConfiguration storageConfiguration
     ) throws IOException {
         fileManager = new SegmentFileManager(
+                NODE_NAME,
                 NODE_NAME,
                 workDir,
                 STRIPES,
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManagerTest.java
 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManagerTest.java
index 8c807827032..f3a6c7271c3 100644
--- 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManagerTest.java
+++ 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegmentFileManagerTest.java
@@ -115,6 +115,7 @@ class SegmentFileManagerTest extends IgniteAbstractTest {
 
     private SegmentFileManager createFileManager() throws IOException {
         return new SegmentFileManager(
+                NODE_NAME,
                 NODE_NAME,
                 workDir,
                 STRIPES,
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegstoreLogStorageConcurrencyTest.java
 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegstoreLogStorageConcurrencyTest.java
index 005223b3b0e..e9eead54f8c 100644
--- 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegstoreLogStorageConcurrencyTest.java
+++ 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegstoreLogStorageConcurrencyTest.java
@@ -57,6 +57,7 @@ class SegstoreLogStorageConcurrencyTest extends 
IgniteAbstractTest {
             LogStorageConfiguration storageConfiguration
     ) throws IOException {
         segmentFileManager = new SegmentFileManager(
+                NODE_NAME,
                 NODE_NAME,
                 workDir,
                 1,
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegstoreLogStorageTest.java
 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegstoreLogStorageTest.java
index c058d46078d..29f6dec143f 100644
--- 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegstoreLogStorageTest.java
+++ 
b/modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/segstore/SegstoreLogStorageTest.java
@@ -60,6 +60,7 @@ class SegstoreLogStorageTest extends BaseLogStorageTest {
     protected LogStorage newLogStorage() {
         try {
             segmentFileManager = new SegmentFileManager(
+                    NODE_NAME,
                     NODE_NAME,
                     path,
                     1,

Reply via email to