1. 20 6月, 2014 6 次提交
    • I
      Use same sorting for all level 0 files · 107e08ba
      Igor Canadi 提交于
      Summary:
      We decided that one of the long term goals is to unify level and universal compaction.
      
      As a small first step, I'm unifying level 0 sorting methods.
      
      Previously, we used to sort level 0 files in level compaction by file number and in universal compaction by sequence number.
      
      But it turns out that in level compaction, sorting by file number is exactly the same as sorting by sequence number.
      
      Test Plan:
      Ran make check with bunch of asserts to verify the sorting order is exactly the same.
      Also, make check with this patch
      
      Reviewers: haobo, yhchiang, ljin, dhruba, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19131
      107e08ba
    • H
      [RocksDB] Make block based table hash index more adaptive · 7a9dd5f2
      Haobo Xu 提交于
      Summary: Currently, RocksDB returns error if a db written with prefix hash index, is later opened without providing a prefix extractor. This is uncessarily harsh. Without a prefix extractor, we could always fallback to the normal binary index.
      
      Test Plan: unit test, also manually veried LOG that fallback did occur.
      
      Reviewers: sdong, ljin
      
      Reviewed By: ljin
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19191
      7a9dd5f2
    • Y
      Fixed a potential write hang · 4f5ccfd1
      Yueh-Hsuan Chiang 提交于
      Summary:
      Currently, when something badly happen in the DB::Write() while the write-queue
      contains more than one element, the current design seems to forget to clean up
      the queue as well as wake-up all the writers, this potentially makes rocksdb
      hang on writes.
      
      Test Plan: make all check
      
      Reviewers: sdong, ljin, igor, haobo
      
      Reviewed By: haobo
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19167
      4f5ccfd1
    • I
      Merge pull request #179 from edsrzf/c-api-compaction-filter · bae49574
      Igor Canadi 提交于
      Support for compaction filters in the C API
      bae49574
    • L
      fix make shared_lib compilation error · 1ec2d1c6
      Lei Jin 提交于
      Summary: s/class ParsedInternalKey/struct ParsedInternalKey
      
      Test Plan: make shared_lib
      
      Reviewers: igor, yhchiang, sdong, haobo
      
      Reviewed By: haobo
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19173
      1ec2d1c6
    • L
      bug fix: iteration over ColumnFamilySet needs to be under mutex · c4e90c79
      Lei Jin 提交于
      Summary: asan_crash_test is failing on segfault
      
      Test Plan: running asan_crash_test
      
      Reviewers: sdong, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19149
      c4e90c79
  2. 19 6月, 2014 6 次提交
  3. 18 6月, 2014 6 次提交
  4. 17 6月, 2014 4 次提交
    • Y
      Include max_write_buffer_number >= 2 to SanitizeOptions. · e6e259b8
      Yueh-Hsuan Chiang 提交于
      Summary: Include max_write_buffer_number >= 2 to SanitizeOptions.
      
      Test Plan: make all check
      
      Reviewers: haobo, sdong, igor, ljin
      
      Reviewed By: ljin
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19077
      e6e259b8
    • S
      Refactor: group metadata needed to open an SST file to a separate copyable struct · cadc1adf
      sdong 提交于
      Summary:
      We added multiple fields to FileMetaData recently and are planning to add more.
      This refactoring separate the minimum information for accessing the file. This object is copyable (FileMetaData is not copyable since the ref counter). I hope this refactoring can enable further improvements:
      
      (1) use it to design a more efficient data structure to speed up read queries.
      (2) in the future, when we add information of storage level, we can easily do the encoding, instead of enlarge this structure, which might expand memory work set for file meta data.
      
      The definition is same as current EncodedFileMetaData used in two level iterator, so now the logic in two level iterator is easier to understand.
      
      Test Plan: make all check
      
      Reviewers: haobo, igor, ljin
      
      Reviewed By: ljin
      
      Subscribers: leveldb, dhruba, yhchiang
      
      Differential Revision: https://reviews.facebook.net/D18933
      cadc1adf
    • B
      Add separate Read/WriteUnlock methods in MutexRW. · 2d02ec65
      Bradley Grainger 提交于
      Some platforms, particularly Windows, do not have a single method that can
      release both a held reader lock and a held writer lock; instead, a
      separate method (ReleaseSRWLockShared or ReleaseSRWLockExclusive) must be
      called in each case.
      
      This may also be necessary to back MutexRW with a shared_mutex in C++14;
      the current language proposal includes both an unlock() and a
      shared_unlock() method.
      2d02ec65
    • Y
      Fix a bug causing LOG is not created when max_log_file_size is set. · 4d913cfb
      Yueh-Hsuan Chiang 提交于
      Summary:
      Fix a bug causing LOG is not created when max_log_file_size is set.
      This bug is reported in issue #174.
      
      Test Plan:
      Add TEST(AutoRollLoggerTest, LogFileExistence).
      make auto_roll_logger_test
      ./auto_roll_logger_test
      
      Reviewers: haobo, sdong, ljin, igor, igor2
      
      Reviewed By: igor2
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D19053
      4d913cfb
  5. 14 6月, 2014 2 次提交
  6. 13 6月, 2014 2 次提交
  7. 11 6月, 2014 5 次提交
  8. 10 6月, 2014 3 次提交
    • S
      Clean PlainTableReader's variables for better data locality · 80f409ea
      sdong 提交于
      Summary:
      Clean PlainTableReader's data structures:
      (1) inline bloom_ (in order to do this, change DynamicBloom to allow lazy initialization)
      (2) remove some variables only used when initialization from the class
      (3) put variables not used in normal read code paths to the end of the class and reference prefix_extractor directly
      (4) make Options a reference.
      
      Test Plan: make all check
      
      Reviewers: haobo, ljin
      
      Reviewed By: ljin
      
      Subscribers: igor, yhchiang, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D18891
      80f409ea
    • I
      Don't compress block bigger than 2GB · f43c8262
      Igor Canadi 提交于
      Summary: This is a temporary solution to a issue that we have with compression libraries. See task #4453446.
      
      Test Plan: make check doesn't complain :)
      
      Reviewers: haobo, ljin, yhchiang, dhruba, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D18975
      f43c8262
    • S
      sst_dump: still try to print out table properties even if failing to read the file · ee5a51e6
      sdong 提交于
      Summary: Even if the file is corrupted, table properties are usually available to print out. Now sst_dump would just fail without printing table properties. With this patch, table properties are still try to be printed out.
      
      Test Plan: run sst_dump against multiple scenarios
      
      Reviewers: igor, yhchiang, ljin, haobo
      
      Reviewed By: haobo
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D18981
      ee5a51e6
  9. 08 6月, 2014 1 次提交
  10. 07 6月, 2014 3 次提交
  11. 06 6月, 2014 2 次提交