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,