From ecf204354c5ab8e5d5915da469db119c5541a96c Mon Sep 17 00:00:00 2001 From: deepgolani4 Date: Tue, 24 Mar 2026 22:29:28 -0400 Subject: [PATCH 1/3] feat: Upgrade RocksDB to 10.5.1 and deprecate options that are removed or changed in the new versions. --- LICENSE-binary | 2 +- gradle/dependencies.gradle | 2 +- ...ToDbOptionsColumnFamilyOptionsAdapter.java | 25 +++++++++++++++---- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/LICENSE-binary b/LICENSE-binary index 7a4efd4782f02..ea7926c8e0e88 100644 --- a/LICENSE-binary +++ b/LICENSE-binary @@ -246,7 +246,7 @@ License Version 2.0: - metrics-core-2.2.0 - opentelemetry-proto-1.3.2-alpha - plexus-utils-3.6.0 -- rocksdbjni-10.1.3 +- rocksdbjni-10.5.1 - scala-library-2.13.18 - scala-logging_2.13-3.9.6 - scala-reflect-2.13.18 diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 50dddc17c049c..deec705a6ee7f 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -123,7 +123,7 @@ versions += [ protobuf: "3.25.5", // a dependency of opentelemetryProto pcollections: "4.0.2", re2j: "1.8", - rocksDB: "10.1.3", + rocksDB: "10.5.1", // When updating the scalafmt version please also update the version field in checkstyle/.scalafmt.conf. scalafmt now // has the version field as mandatory in its configuration, see // https://github.com/scalameta/scalafmt/releases/tag/v3.1.0. diff --git a/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java b/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java index e86127d679b20..526e820e90c92 100644 --- a/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java +++ b/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java @@ -743,13 +743,19 @@ public Cache rowCache() { } @Override + @Deprecated(since = "4.2", forRemoval = true) public Options setFailIfOptionsFileError(final boolean failIfOptionsFileError) { + log.warn("fail_if_options_file_error no longer changes behavior in RocksDB v10.2.0 and later." + + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); dbOptions.setFailIfOptionsFileError(failIfOptionsFileError); return this; } @Override + @Deprecated(since = "4.2", forRemoval = true) public boolean failIfOptionsFileError() { + log.warn("fail_if_options_file_error no longer changes behavior in RocksDB v10.2.0 and later." + + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); return dbOptions.failIfOptionsFileError(); } @@ -1236,15 +1242,18 @@ public boolean paranoidFileChecks() { return columnFamilyOptions.paranoidFileChecks(); } - @Override - public Options setMaxWriteBufferNumberToMaintain(final int maxWriteBufferNumberToMaintain) { - columnFamilyOptions.setMaxWriteBufferNumberToMaintain(maxWriteBufferNumberToMaintain); + @Deprecated(since = "4.2", forRemoval = true) + public Options setMaxWriteBufferNumberToMaintain(final int ignored) { + log.warn("max_write_buffer_number_to_maintain has been removed in RocksDB v10.2.0." + + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); return this; } - @Override + @Deprecated(since = "4.2", forRemoval = true) public int maxWriteBufferNumberToMaintain() { - return columnFamilyOptions.maxWriteBufferNumberToMaintain(); + log.warn("max_write_buffer_number_to_maintain has been removed in RocksDB v10.2.0." + + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); + return 0; } @Override @@ -1412,13 +1421,19 @@ public boolean unorderedWrite() { } @Override + @Deprecated(since = "4.2", forRemoval = true) public Options setSkipCheckingSstFileSizesOnDbOpen(final boolean skipCheckingSstFileSizesOnDbOpen) { + log.warn("skip_checking_sst_file_sizes_on_db_open has been deprecated in RocksDB v10.5.0." + + " See https://github.com/facebook/rocksdb/releases/tag/v10.5.0"); dbOptions.setSkipCheckingSstFileSizesOnDbOpen(skipCheckingSstFileSizesOnDbOpen); return this; } @Override + @Deprecated(since = "4.2", forRemoval = true) public boolean skipCheckingSstFileSizesOnDbOpen() { + log.warn("skip_checking_sst_file_sizes_on_db_open has been deprecated in RocksDB v10.5.0." + + " See https://github.com/facebook/rocksdb/releases/tag/v10.5.0"); return dbOptions.skipCheckingSstFileSizesOnDbOpen(); } From 9663d71504aa96fbffc51cb139b207e02ce94405 Mon Sep 17 00:00:00 2001 From: deepgolani4 Date: Tue, 24 Mar 2026 23:01:17 -0400 Subject: [PATCH 2/3] Update RocksDB adapter deprecation since tags from 4.2 to 4.4 --- ...OptionsToDbOptionsColumnFamilyOptionsAdapter.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java b/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java index 526e820e90c92..4e37fb4c6d171 100644 --- a/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java +++ b/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java @@ -743,7 +743,7 @@ public Cache rowCache() { } @Override - @Deprecated(since = "4.2", forRemoval = true) + @Deprecated(since = "4.4", forRemoval = true) public Options setFailIfOptionsFileError(final boolean failIfOptionsFileError) { log.warn("fail_if_options_file_error no longer changes behavior in RocksDB v10.2.0 and later." + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); @@ -752,7 +752,7 @@ public Options setFailIfOptionsFileError(final boolean failIfOptionsFileError) { } @Override - @Deprecated(since = "4.2", forRemoval = true) + @Deprecated(since = "4.4", forRemoval = true) public boolean failIfOptionsFileError() { log.warn("fail_if_options_file_error no longer changes behavior in RocksDB v10.2.0 and later." + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); @@ -1242,14 +1242,14 @@ public boolean paranoidFileChecks() { return columnFamilyOptions.paranoidFileChecks(); } - @Deprecated(since = "4.2", forRemoval = true) + @Deprecated(since = "4.4", forRemoval = true) public Options setMaxWriteBufferNumberToMaintain(final int ignored) { log.warn("max_write_buffer_number_to_maintain has been removed in RocksDB v10.2.0." + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); return this; } - @Deprecated(since = "4.2", forRemoval = true) + @Deprecated(since = "4.4", forRemoval = true) public int maxWriteBufferNumberToMaintain() { log.warn("max_write_buffer_number_to_maintain has been removed in RocksDB v10.2.0." + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); @@ -1421,7 +1421,7 @@ public boolean unorderedWrite() { } @Override - @Deprecated(since = "4.2", forRemoval = true) + @Deprecated(since = "4.4", forRemoval = true) public Options setSkipCheckingSstFileSizesOnDbOpen(final boolean skipCheckingSstFileSizesOnDbOpen) { log.warn("skip_checking_sst_file_sizes_on_db_open has been deprecated in RocksDB v10.5.0." + " See https://github.com/facebook/rocksdb/releases/tag/v10.5.0"); @@ -1430,7 +1430,7 @@ public Options setSkipCheckingSstFileSizesOnDbOpen(final boolean skipCheckingSst } @Override - @Deprecated(since = "4.2", forRemoval = true) + @Deprecated(since = "4.4", forRemoval = true) public boolean skipCheckingSstFileSizesOnDbOpen() { log.warn("skip_checking_sst_file_sizes_on_db_open has been deprecated in RocksDB v10.5.0." + " See https://github.com/facebook/rocksdb/releases/tag/v10.5.0"); From 810785fbfb5a757f232d05f9571a7cfd8b8aec28 Mon Sep 17 00:00:00 2001 From: deepgolani4 Date: Tue, 24 Mar 2026 23:08:56 -0400 Subject: [PATCH 3/3] added correct rocksDB version --- ...ToDbOptionsColumnFamilyOptionsAdapter.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java b/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java index 4e37fb4c6d171..93360f836b2c4 100644 --- a/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java +++ b/streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java @@ -745,8 +745,8 @@ public Cache rowCache() { @Override @Deprecated(since = "4.4", forRemoval = true) public Options setFailIfOptionsFileError(final boolean failIfOptionsFileError) { - log.warn("fail_if_options_file_error no longer changes behavior in RocksDB v10.2.0 and later." + - " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); + log.warn("fail_if_options_file_error no longer changes behavior in RocksDB v10.2.1 and later." + + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.1"); dbOptions.setFailIfOptionsFileError(failIfOptionsFileError); return this; } @@ -754,8 +754,8 @@ public Options setFailIfOptionsFileError(final boolean failIfOptionsFileError) { @Override @Deprecated(since = "4.4", forRemoval = true) public boolean failIfOptionsFileError() { - log.warn("fail_if_options_file_error no longer changes behavior in RocksDB v10.2.0 and later." + - " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); + log.warn("fail_if_options_file_error no longer changes behavior in RocksDB v10.2.1 and later." + + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.1"); return dbOptions.failIfOptionsFileError(); } @@ -1244,15 +1244,15 @@ public boolean paranoidFileChecks() { @Deprecated(since = "4.4", forRemoval = true) public Options setMaxWriteBufferNumberToMaintain(final int ignored) { - log.warn("max_write_buffer_number_to_maintain has been removed in RocksDB v10.2.0." + - " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); + log.warn("max_write_buffer_number_to_maintain has been removed in RocksDB v10.2.1" + + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.1"); return this; } @Deprecated(since = "4.4", forRemoval = true) public int maxWriteBufferNumberToMaintain() { - log.warn("max_write_buffer_number_to_maintain has been removed in RocksDB v10.2.0." + - " See https://github.com/facebook/rocksdb/releases/tag/v10.2.0"); + log.warn("max_write_buffer_number_to_maintain has been removed in RocksDB v10.2.1" + + " See https://github.com/facebook/rocksdb/releases/tag/v10.2.1"); return 0; } @@ -1423,8 +1423,8 @@ public boolean unorderedWrite() { @Override @Deprecated(since = "4.4", forRemoval = true) public Options setSkipCheckingSstFileSizesOnDbOpen(final boolean skipCheckingSstFileSizesOnDbOpen) { - log.warn("skip_checking_sst_file_sizes_on_db_open has been deprecated in RocksDB v10.5.0." + - " See https://github.com/facebook/rocksdb/releases/tag/v10.5.0"); + log.warn("skip_checking_sst_file_sizes_on_db_open has been deprecated in RocksDB v10.5.1" + + " See https://github.com/facebook/rocksdb/releases/tag/v10.5.1"); dbOptions.setSkipCheckingSstFileSizesOnDbOpen(skipCheckingSstFileSizesOnDbOpen); return this; } @@ -1432,8 +1432,8 @@ public Options setSkipCheckingSstFileSizesOnDbOpen(final boolean skipCheckingSst @Override @Deprecated(since = "4.4", forRemoval = true) public boolean skipCheckingSstFileSizesOnDbOpen() { - log.warn("skip_checking_sst_file_sizes_on_db_open has been deprecated in RocksDB v10.5.0." + - " See https://github.com/facebook/rocksdb/releases/tag/v10.5.0"); + log.warn("skip_checking_sst_file_sizes_on_db_open has been deprecated in RocksDB v10.5.1" + + " See https://github.com/facebook/rocksdb/releases/tag/v10.5.1"); return dbOptions.skipCheckingSstFileSizesOnDbOpen(); }