Compare commits

...
3 Commits
Author SHA1 Message Date
anand76 4b2122578e Update HISTORY and version 2025-04-24 22:12:38 -07:00
anand76 b8afcd1a48 Fix ExternalTableOptions initialization (#13572)
Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/13572

Reviewed By: moakbari

Differential Revision: D73568773

Pulled By: anand1976

fbshipit-source-id: d61d76cb864e3af111bb05dc1ee51a8b3f1eaf17
2025-04-24 22:08:46 -07:00
Jay Huh 8adcb6f153 Update HISTORY.md for 10.2 release 2025-04-21 13:34:27 -07:00
17 changed files with 36 additions and 19 deletions

No files matched your search

+27
View File
@@ -1,6 +1,33 @@
# Rocksdb Change Log
> NOTE: Entries for next release do not go here. Follow instructions in `unreleased_history/README.txt`
## 10.2.1 (04/24/2025)
### Bug Fixes
* Fix improper initialization of ExternalTableOptions
## 10.2.0 (04/21/2025)
### New Features
* Provide histogram stats `COMPACTION_PREFETCH_BYTES` to measure number of bytes for RocksDB's prefetching (as opposed to file
system's prefetch) on SST file during compaction read
* A new API DB::GetNewestUserDefinedTimestamp is added to return the newest user defined timestamp seen in a column family
* Introduce API `IngestWriteBatchWithIndex()` for ingesting updates into DB while bypassing memtable writes. This improves performance when writing a large write batch to the DB.
* Add a new CF option `memtable_op_scan_flush_trigger` that triggers a flush of the memtable if an iterator's Seek()/Next() scans over a certain number of invisible entries from the memtable.
### Public API Changes
* AdvancedColumnFamilyOptions.max_write_buffer_number_to_maintain is deleted. It's deprecated since introduction of a better option max_write_buffer_size_to_maintain since RocksDB 6.5.0.
* Deprecated API `DB::MaxMemCompactionLevel()`.
* Deprecated `ReadOptions::ignore_range_deletions`.
* Deprecated API `experimental::PromoteL0()`.
* Added arbitrary string map for additional options to be overriden for remote compactions
* The fail_if_options_file_error option in DBOptions has been removed. The behavior now is to always return failure in any API that fails to persist the OPTIONS file.
### Behavior Changes
* Make stats `PREFETCH_BYTES_USEFUL`, `PREFETCH_HITS`, `PREFETCH_BYTES` only account for prefetching during user initiated scan
### Bug Fixes
* Fix a bug in Posix file system that the FSWritableFile created via `FileSystem::ReopenWritableFile` internally does not track the correct file size.
* Fix a bug where tail size of remote compaction output is not persisted in primary db's manifest
## 10.1.0 (03/24/2025)
### New Features
* Added a new `DBOptions.calculate_sst_write_lifetime_hint_set` setting that allows to customize which compaction styles SST write lifetime hint calculation is allowed on. Today RocksDB supports only two modes `kCompactionStyleLevel` and `kCompactionStyleUniversal`.
+1 -1
View File
@@ -13,7 +13,7 @@
// minor or major version number planned for release.
#define ROCKSDB_MAJOR 10
#define ROCKSDB_MINOR 2
#define ROCKSDB_PATCH 0
#define ROCKSDB_PATCH 1
// Do not use these. We made the mistake of declaring macros starting with
// double underscore. Now we have to live with our choice. We'll deprecate these
+4 -3
View File
@@ -287,9 +287,10 @@ class ExternalTableFactoryAdapter : public TableFactory {
std::unique_ptr<TableReader>* table_reader,
bool /* prefetch_index_and_filter_in_cache */) const override {
std::unique_ptr<ExternalTableReader> reader;
ExternalTableOptions ext_topts(
topts.prefix_extractor, topts.ioptions.user_comparator,
topts.ioptions.fs, FileOptions(topts.env_options));
FileOptions fopts(topts.env_options);
ExternalTableOptions ext_topts(topts.prefix_extractor,
topts.ioptions.user_comparator,
topts.ioptions.fs, fopts);
auto status =
inner_->NewTableReader(ro, file->file_name(), ext_topts, &reader);
if (!status.ok()) {
+4 -1
View File
@@ -6855,8 +6855,11 @@ class ExternalTableReaderTest : public DBTestBase {
Status NewTableReader(
const ReadOptions& /*read_options*/, const std::string& file_path,
const ExternalTableOptions& /*topts*/,
const ExternalTableOptions& topts,
std::unique_ptr<ExternalTableReader>* table_reader) const override {
// Sanity check some options
EXPECT_EQ(topts.file_options.handoff_checksum_type,
ChecksumType::kCRC32c);
table_reader->reset(new DummyExternalTableReader(file_path));
return Status::OK();
}
@@ -1 +0,0 @@
Make stats `PREFETCH_BYTES_USEFUL`, `PREFETCH_HITS`, `PREFETCH_BYTES` only account for prefetching during user initiated scan
@@ -1 +0,0 @@
Fix a bug in Posix file system that the FSWritableFile created via `FileSystem::ReopenWritableFile` internally does not track the correct file size.
@@ -1 +0,0 @@
Fix a bug where tail size of remote compaction output is not persisted in primary db's manifest
@@ -1,2 +0,0 @@
Provide histogram stats `COMPACTION_PREFETCH_BYTES` to measure number of bytes for RocksDB's prefetching (as opposed to file
system's prefetch) on SST file during compaction read
@@ -1 +0,0 @@
A new API DB::GetNewestUserDefinedTimestamp is added to return the newest user defined timestamp seen in a column family
@@ -1 +0,0 @@
* Introduce API `IngestWriteBatchWithIndex()` for ingesting updates into DB while bypassing memtable writes. This improves performance when writing a large write batch to the DB.
@@ -1 +0,0 @@
* Add a new CF option `memtable_op_scan_flush_trigger` that triggers a flush of the memtable if an iterator's Seek()/Next() scans over a certain number of invisible entries from the memtable.
@@ -1 +0,0 @@
AdvancedColumnFamilyOptions.max_write_buffer_number_to_maintain is deleted. It's deprecated since introduction of a better option max_write_buffer_size_to_maintain since RocksDB 6.5.0.
@@ -1 +0,0 @@
* Deprecated API `DB::MaxMemCompactionLevel()`.
@@ -1 +0,0 @@
* Deprecated `ReadOptions::ignore_range_deletions`.
@@ -1 +0,0 @@
* Deprecated API `experimental::PromoteL0()`.
@@ -1 +0,0 @@
Added arbitrary string map for additional options to be overriden for remote compactions
@@ -1 +0,0 @@
The fail_if_options_file_error option in DBOptions has been removed. The behavior now is to always return failure in any API that fails to persist the OPTIONS file.