All Versions
118
Latest Version
Avg Release Cycle
29 days
Latest Release
-

Changelog History
Page 10

  • v4.11.0 Changes

    August 01, 2016

    Public API Change

    • options.memtable_prefix_bloom_huge_page_tlb_size => memtable_huge_page_size. When it is set, RocksDB will try to allocate memory from huge page for memtable too, rather than just memtable bloom filter.

    ๐Ÿ†• New Features

    • ๐Ÿ”„ A tool to migrate DB after options change. See include/rocksdb/utilities/option_change_migration.h.
    • Add ReadOptions.background_purge_on_iterator_cleanup. If true, we avoid file deletion when destroying iterators.
  • v4.10.0 Changes

    July 05, 2016

    Public API Change

    • options.memtable_prefix_bloom_bits changes to options.memtable_prefix_bloom_bits_ratio and deprecate options.memtable_prefix_bloom_probes
    • enum type CompressionType and PerfLevel changes from char to unsigned char. Value of all PerfLevel shift by one.
    • ๐Ÿ—„ Deprecate options.filter_deletes.

    ๐Ÿ†• New Features

    • Add avoid_flush_during_recovery option.
    • Add a read option background_purge_on_iterator_cleanup to avoid deleting files in foreground when destroying iterators. Instead, a job is scheduled in high priority queue and would be executed in a separate background thread.
    • 0๏ธโƒฃ RepairDB support for column families. RepairDB now associates data with non-default column families using information embedded in the SST/WAL files (4.7 or later). For data written by 4.6 or earlier, RepairDB associates it with the default column family.
    • Add options.write_buffer_manager which allows users to control total memtable sizes across multiple DB instances.
  • v4.9.0 Changes

    June 09, 2016

    Public API changes

    • โž• Add bottommost_compression option, This option can be used to set a specific compression algorithm for the bottommost level (Last level containing files in the DB).
    • ๐Ÿ‘ท Introduce CompactionJobInfo::compression, This field state the compression algorithm used to generate the output files of the compaction.
    • Deprecate BlockBaseTableOptions.hash_index_allow_collision=false
    • ๐Ÿ— Deprecate options builder (GetOptions()).

    ๐Ÿ†• New Features

    • ๐Ÿ”ง Introduce NewSimCache() in rocksdb/utilities/sim_cache.h. This function creates a block cache that is able to give simulation results (mainly hit rate) of simulating block behavior with a configurable cache size.
  • v4.8.0 Changes

    May 02, 2016

    Public API Change

    • Allow preset compression dictionary for improved compression of block-based tables. This is supported for zlib, zstd, and lz4. The compression dictionary's size is configurable via CompressionOptions::max_dict_bytes.
    • โœ‚ Delete deprecated classes for creating backups (BackupableDB) and restoring from backups (RestoreBackupableDB). Now, BackupEngine should be used for creating backups, and BackupEngineReadOnly should be used for restorations. For more details, see https://github.com/facebook/rocksdb/wiki/How-to-backup-RocksDB%3F
    • ๐Ÿ”ฆ Expose estimate of per-level compression ratio via DB property: "rocksdb.compression-ratio-at-levelN".
    • โž• Added EventListener::OnTableFileCreationStarted. EventListener::OnTableFileCreated will be called on failure case. User can check creation status via TableFileCreationInfo::status.

    ๐Ÿ†• New Features

    • โž• Add ReadOptions::readahead_size. If non-zero, NewIterator will create a new table reader which performs reads of the given size.
  • v4.7.0 Changes

    April 08, 2016

    Public API Change

    • rename options compaction_measure_io_stats to report_bg_io_stats and include flush too.
    • Change some default options. Now default options will optimize for server-workloads. Also enable slowdown and full stop triggers for pending compaction bytes. These changes may cause sub-optimal performance or significant increase of resource usage. To avoid these risks, users can open existing RocksDB with options extracted from RocksDB option files. See https://github.com/facebook/rocksdb/wiki/RocksDB-Options-File for how to use RocksDB option files. Or you can call Options.OldDefaults() to recover old defaults. DEFAULT_OPTIONS_HISTORY.md will track change history of default options.
  • v4.6.0 Changes

    March 10, 2016

    Public API Changes

    • ๐Ÿ”„ Change default of BlockBasedTableOptions.format_version to 2. It means default DB created by 4.6 or up cannot be opened by RocksDB version 3.9 or earlier.
    • Added strict_capacity_limit option to NewLRUCache. If the flag is set to true, insert to cache will fail if no enough capacity can be free. Signature of Cache::Insert() is updated accordingly.
    • Tickers [NUMBER_DB_NEXT, NUMBER_DB_PREV, NUMBER_DB_NEXT_FOUND, NUMBER_DB_PREV_FOUND, ITER_BYTES_READ] are not updated immediately. The are updated when the Iterator is deleted.
    • โž• Add monotonically increasing counter (DB property "rocksdb.current-super-version-number") that increments upon any change to the LSM tree.

    ๐Ÿ†• New Features

    • โž• Add CompactionPri::kMinOverlappingRatio, a compaction picking mode friendly to write amplification.
    • ๐Ÿ—„ Deprecate Iterator::IsKeyPinned() and replace it with Iterator::GetProperty() with prop_name="rocksdb.iterator.is.key.pinned"
  • v4.5.0 Changes

    February 05, 2016

    Public API Changes

    • โž• Add a new perf context level between kEnableCount and kEnableTime. Level 2 now does not include timers for mutexes.
    • Statistics of mutex operation durations will not be measured by default. If you want to have them enabled, you need to set Statistics::stats_level_ to kAll.
    • โฑ DBOptions::delete_scheduler and NewDeleteScheduler() are removed, please use DBOptions::sst_file_manager and NewSstFileManager() instead

    ๐Ÿ†• New Features

    • 0๏ธโƒฃ ldb tool now supports operations to non-default column families.
    • โž• Add kPersistedTier to ReadTier. This option allows Get and MultiGet to read only the persited data and skip mem-tables if writes were done with disableWAL = true.
    • Add DBOptions::sst_file_manager. Use NewSstFileManager() in include/rocksdb/sst_file_manager.h to create a SstFileManager that can be used to track the total size of SST files and control the SST files deletion rate.
  • v4.4.0 Changes

    January 14, 2016

    Public API Changes

    • ๐Ÿ”„ Change names in CompactionPri and add a new one.
    • Deprecate options.soft_rate_limit and add options.soft_pending_compaction_bytes_limit.
    • If options.max_write_buffer_number > 3, writes will be slowed down when writing to the last write buffer to delay a full stop.
    • ๐Ÿ‘ท Introduce CompactionJobInfo::compaction_reason, this field include the reason to trigger the compaction.
    • After slow down is triggered, if estimated pending compaction bytes keep increasing, slowdown more.
    • Increase default options.delayed_write_rate to 2MB/s.
    • โž• Added a new parameter --path to ldb tool. --path accepts the name of either MANIFEST, SST or a WAL file. Either --db or --path can be used when calling ldb.
  • v4.3.0 Changes

    December 08, 2015

    ๐Ÿ†• New Features

    • CompactionFilter has new member function called IgnoreSnapshots which allows CompactionFilter to be called even if there are snapshots later than the key.
    • RocksDB will now persist options under the same directory as the RocksDB database on successful DB::Open, CreateColumnFamily, DropColumnFamily, and SetOptions.
    • โœ… Introduce LoadLatestOptions() in rocksdb/utilities/options_util.h. This function can construct the latest DBOptions / ColumnFamilyOptions used by the specified RocksDB intance.
    • Introduce CheckOptionsCompatibility() in rocksdb/utilities/options_util.h. This function checks whether the input set of options is able to open the specified DB successfully.

    Public API Changes

    • When options.db_write_buffer_size triggers, only the column family with the largest column family size will be flushed, not all the column families.
  • v4.2.0 Changes

    November 09, 2015

    ๐Ÿ†• New Features

    • Introduce CreateLoggerFromOptions(), this function create a Logger for provided DBOptions.
    • โž• Add GetAggregatedIntProperty(), which returns the sum of the GetIntProperty of all the column families.
    • โž• Add MemoryUtil in rocksdb/utilities/memory.h. It currently offers a way to get the memory usage by type from a list rocksdb instances.

    Public API Changes

    • CompactionFilter::Context includes information of Column Family ID
    • โฌ‡๏ธ The need-compaction hint given by TablePropertiesCollector::NeedCompact() will be persistent and recoverable after DB recovery. This introduces a breaking format change. If you use this experimental feature, including NewCompactOnDeletionCollectorFactory() in the new version, you may not be able to directly downgrade the DB back to version 4.0 or lower.
    • TablePropertiesCollectorFactory::CreateTablePropertiesCollector() now takes an option Context, containing the information of column family ID for the file being written.
    • โœ‚ Remove DefaultCompactionFilterFactory.