Skip to content
  • Yueh-Hsuan Chiang's avatar
    Enable RocksDB to persist Options file. · e114f0ab
    Yueh-Hsuan Chiang authored
    Summary:
    This patch allows rocksdb to persist options into a file on
    DB::Open, SetOptions, and Create / Drop ColumnFamily.
    Options files are created under the same directory as the rocksdb
    instance.
    
    In addition, this patch also adds a fail_if_missing_options_file in DBOptions
    that makes any function call return non-ok status when it is not able to
    persist options properly.
    
      // If true, then DB::Open / CreateColumnFamily / DropColumnFamily
      // / SetOptions will fail if options file is not detected or properly
      // persisted.
      //
      // DEFAULT: false
      bool fail_if_missing_options_file;
    
    Options file names are formatted as OPTIONS-<number>, and RocksDB
    will always keep the latest two options files.
    
    Test Plan:
    Add options_file_test.
    
    options_test
    column_family_test
    
    Reviewers: igor, IslamAbdelRahman, sdong, anthony
    
    Reviewed By: anthony
    
    Subscribers: dhruba
    
    Differential Revision: https://reviews.facebook.net/D48285
    e114f0ab