Skip to content

IGNITE-27924 Expose size of log storage manager data on disk#7638

Open
rpuch wants to merge 1 commit intoapache:mainfrom
gridgain:ignite-27924
Open

IGNITE-27924 Expose size of log storage manager data on disk#7638
rpuch wants to merge 1 commit intoapache:mainfrom
gridgain:ignite-27924

Conversation

@rpuch
Copy link
Contributor

@rpuch rpuch commented Feb 19, 2026

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds functionality to expose the size of log storage manager data on disk, addressing JIRA issue IGNITE-27924. The implementation adds a new totalBytesOnDisk() method to the LogStorageManager interface and provides implementations across all concrete log storage manager classes.

Changes:

  • Added totalBytesOnDisk() method to LogStorageManager interface
  • Implemented disk size tracking using RocksDB's SstFileManager and WAL file enumeration for RocksDB-based managers
  • Implemented file system walking for Logit-based storage manager
  • Added comprehensive test coverage for RocksDB-based implementations

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/LogStorageManager.java Added new interface method totalBytesOnDisk()
modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/impl/RocksDbSizeCalculator.java New utility class to calculate RocksDB storage size (SST files + WAL files)
modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/impl/DefaultLogStorageManager.java Implemented disk size tracking with RocksDB's SstFileManager, added env and sstFileManager fields
modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/impl/VolatileLogStorageManagerCreator.java Added disk size tracking infrastructure and exposed totalBytesOnDisk() at creator level
modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/impl/VolatileLogStorageManager.java Returns 0 as this is volatile storage with the actual tracking at creator level
modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/impl/LocalLogStorageManager.java Returns 0 as this uses on-heap storage with no disk footprint
modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/logit/LogitLogStorageManager.java Implemented using Files.walk() to traverse directory tree and sum file sizes
modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/impl/DefaultLogStorageManagerTest.java Added tests for WAL and SST file size tracking, introduced @DisableFsync annotation
modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/impl/VolatileLogStorageManagerCreatorTest.java New test file covering disk size reporting for volatile storage with spillout
modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItTruncateSuffixAndRestartTest.java Updated test implementation to include totalBytesOnDisk() stub

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments