Skip to content

IGNITE-28075 Make writeBufferSize for RocksDB log storage configurable#7724

Merged
rpuch merged 1 commit intoapache:mainfrom
gridgain:ignite-28075
Mar 9, 2026
Merged

IGNITE-28075 Make writeBufferSize for RocksDB log storage configurable#7724
rpuch merged 1 commit intoapache:mainfrom
gridgain:ignite-28075

Conversation

@rpuch
Copy link
Contributor

@rpuch rpuch commented Mar 6, 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

Adds a node-local configuration knob to tune RocksDB write buffer sizing for the partition raft log storage, wiring it through log storage manager creation and validating it via an integration test.

Changes:

  • Introduce RocksDbLogStorageOptions and pass options into DefaultLogStorageManager for RocksDB-specific tuning.
  • Wire partition raft log storage creation to read ignite.system.properties.partitionsRaftLogStorageWriteBufferSize.
  • Add an integration test verifying the configured writeBufferSize is applied.

Reviewed changes

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

Show a summary per file
File Description
modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java Passes partition-specific RocksDB log storage options into shared log storage manager creation.
modules/raft/src/main/java/org/apache/ignite/internal/raft/util/SharedLogStorageManagerUtils.java Adds overload to supply RocksDbLogStorageOptions to DefaultLogStorageManager.
modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/impl/RocksDbLogStorageOptions.java New options holder that reads partition raft log write buffer size from system local properties.
modules/raft/src/main/java/org/apache/ignite/internal/raft/storage/impl/DefaultLogStorageManager.java Applies configurable writeBufferSize and derives related RocksDB compaction sizing from it.
modules/raft/src/test/java/org/apache/ignite/internal/raft/storage/impl/DefaultLogStorageManagerTest.java Updates test construction to use the new DefaultLogStorageManager constructor signature.
modules/raft/src/integrationTest/java/org/apache/ignite/internal/raftsnapshot/ItLogStorageConfigurationTest.java New IT asserting configured writeBufferSize is reflected in RocksDB column family options.
modules/raft/build.gradle Adds RocksDB JNI dependency to the integration test classpath.

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

Copy link
Contributor

@Phillippko Phillippko left a comment

Choose a reason for hiding this comment

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

lgtm

@rpuch rpuch merged commit 00f7a8e into apache:main Mar 9, 2026
9 checks passed
@rpuch rpuch deleted the ignite-28075 branch March 9, 2026 07:58
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.

3 participants