Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE-binary
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ License Version 2.0:
- metrics-core-2.2.0
- opentelemetry-proto-1.3.2-alpha
- plexus-utils-3.5.1
- rocksdbjni-9.7.3
- rocksdbjni-10.1.3
- scala-library-2.13.16
- scala-logging_2.13-3.9.5
- scala-reflect-2.13.16
Expand Down
2 changes: 1 addition & 1 deletion gradle/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ versions += [
protobuf: "3.25.5", // a dependency of opentelemetryProto
pcollections: "4.0.2",
re2j: "1.8",
rocksDB: "9.7.3",
rocksDB: "10.1.3",
// 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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -574,15 +574,18 @@ public long compactionReadaheadSize() {
return dbOptions.compactionReadaheadSize();
}

@Override
public Options setRandomAccessMaxBufferSize(final long randomAccessMaxBufferSize) {
dbOptions.setRandomAccessMaxBufferSize(randomAccessMaxBufferSize);
@Deprecated(since = "4.2", forRemoval = true)
public Options setRandomAccessMaxBufferSize(final long ignored) {
log.warn("random_access_max_buffer_size has been removed in RocksDB v9.11.1." +
" See https://github.com/facebook/rocksdb/pull/13288");
return this;
}

@Override
@Deprecated(since = "4.2", forRemoval = true)
public long randomAccessMaxBufferSize() {
return dbOptions.randomAccessMaxBufferSize();
log.warn("random_access_max_buffer_size has been removed in RocksDB v9.11.1." +
" See https://github.com/facebook/rocksdb/pull/13288");
return 0;
}

@Override
Expand Down Expand Up @@ -794,8 +797,11 @@ public Options setMemTableConfig(final MemTableConfig config) {
return this;
}

@Deprecated(since = "4.2", forRemoval = true)
@Override
public Options setRateLimiter(final RateLimiter rateLimiter) {
log.warn("rate_limiter has been deprecated in RocksDB v7.6.0." +
" See https://github.com/facebook/rocksdb/pull/10378");
Comment on lines +803 to +804

@brandboat brandboat Jun 12, 2025

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Could you also verify if options were deprecated in the Java API and in the C++ code. For the latter, I do not actually not know where to look. Maybe in the release notes. I am asking this because it seems that RocksDB's Java API contains options that were deprecated long ago in the C++ code. Maybe we can deprecate those options in our wrapper.

I've checked

and collected all options marked as kdeprecated. According to the definitions in
https://github.com/facebook/rocksdb/blob/57a8e69d4e75c317f6ab02d6fc2fdd404b366794/include/rocksdb/utilities/options_type.h#L73-L77

  kDeprecated,           // The option is no longer used in rocksdb. The RocksDB
                         // OptionsParser will still accept this option if it
                         // happen to exists in some Options file.  However,
                         // the parser will not include it in serialization
                         // and verification processes.

Among the two options files, rate_limiter is the only deprecated option (since v7.6.0) that is still exposed in RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java, and it does not have an alternative. Therefore, I'm adding @Deprecated to this option.

dbOptions.setRateLimiter(rateLimiter);
return this;
}
Expand Down Expand Up @@ -1763,6 +1769,17 @@ public int blobFileStartingLevel() {
return columnFamilyOptions.blobFileStartingLevel();
}

@Override
public Options setDailyOffpeakTimeUTC(final String offpeakTimeUTC) {
dbOptions.setDailyOffpeakTimeUTC(offpeakTimeUTC);
return this;
}

@Override
public String dailyOffpeakTimeUTC() {
return dbOptions.dailyOffpeakTimeUTC();
}

//
// END options for blobs (integrated BlobDB)
//
Expand Down