1. 20 12月, 2014 1 次提交
  2. 19 12月, 2014 8 次提交
  3. 18 12月, 2014 3 次提交
  4. 17 12月, 2014 3 次提交
  5. 16 12月, 2014 6 次提交
  6. 15 12月, 2014 1 次提交
    • I
      Optimize default compile to compilation platform by default · 06eed650
      Igor Canadi 提交于
      Summary:
      This diff changes compile to optimize for native platform by default. This will automatically turn on crc32 optimizations for modern processors, which greatly improves rocksdb's performance.
      
      I also did some more changes to compilation documentation.
      
      Test Plan:
      compile with `make`, observe -march=native
      compile with `PORTABLE=1 make`, observe no -march=native
      
      Reviewers: sdong, rven, yhchiang, MarkCallaghan
      
      Reviewed By: MarkCallaghan
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D30225
      06eed650
  7. 13 12月, 2014 2 次提交
    • Q
      Added 'dump_live_files' command to ldb tool. · cef6f843
      Qiao Yang 提交于
      Summary:
      Priliminary diff to solicit comments.
      Given DB path, dump all SST files (key/value and properties), WAL file and manifest
      files. What command options do we need to support for this command? Maybe
      output_hex for keys?
      
      Test Plan: Create additional ldb unit tests.
      
      Reviewers: sdong, rven
      
      Reviewed By: rven
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D29547
      cef6f843
    • S
      Add an assert and avoid std::sort(autovector) to investigate an ASAN issue · 7ab1526c
      sdong 提交于
      Summary:
      ASAN build fails once for this error:
      
      14:04:52 ==== Test DBTest.CompactFilesOnLevelCompaction
      14:04:52 db_test: db/version_set.cc:1062: void rocksdb::VersionStorageInfo::AddFile(int, rocksdb::FileMetaData*): Assertion `level <= 0 || level_files->empty() || internal_comparator_->Compare( (*level_files)[level_files->size() - 1]->largest, f->smallest) < 0' failed.
      
      Not abling figure out reason. We use std:vector for sorting for save and add one more assert to help figure out whether it is the sorting's problem.
      
      Test Plan: make all check
      
      Reviewers: yhchiang, rven, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D30117
      7ab1526c
  8. 12 12月, 2014 2 次提交
  9. 11 12月, 2014 3 次提交
    • A
      Modifed the LRU cache eviction code so that it doesn't evict blocks which have exteranl references · ee95cae9
      Alexey Maykov 提交于
      Summary:
      Currently, blocks which have more than one reference (ie referenced by something other than cache itself) are evicted from cache. This doesn't make much sense:
      - blocks are still in RAM, so the RAM usage reported by the cache is incorrect
      - if the same block is needed by another iterator, it will be loaded and decompressed again
      
      This diff changes the reference counting scheme a bit. Previously, if the cache contained the block, this was accounted for in its refcount. After this change, the refcount is only used to track external references. There is a boolean flag which indicates whether or not the block is contained in the cache.
      This diff also changes how LRU list is used. Previously, both hashtable and the LRU list contained all blocks. After this change, the LRU list contains blocks with the refcount==0, ie those which can be evicted from the cache.
      
      Note that this change still allows for cache to grow beyond its capacity. This happens when all blocks are pinned (ie refcount>0). This is consistent with the current behavior. The cache's insert function never fails. I spent lots of time trying to make table_reader and other places work with the insert which might failed. It turned out to be pretty hard. It might really destabilize some customers, so finally, I decided against doing this.
      
      table_cache_remove_scan_count_limit option will be unneeded after this change, but I will remove it in the following diff, if this one gets approved
      
      Test Plan: Ran tests, made sure they pass
      
      Reviewers: sdong, ljin
      
      Differential Revision: https://reviews.facebook.net/D25503
      ee95cae9
    • S
      VersionBuilder to use unordered set and map to store added and deleted files · 0ab0242f
      sdong 提交于
      Summary: Set operations in VerisonBuilder is shown as a performance bottleneck of restarting DB when there are lots of files. Make both of added_files and deleted_files use unordered set or map. Only when adding the files, sort the added files.
      
      Test Plan: make all check
      
      Reviewers: yhchiang, rven, igor
      
      Reviewed By: igor
      
      Subscribers: hermanlee4, leveldb, dhruba, ljin
      
      Differential Revision: https://reviews.facebook.net/D30051
      0ab0242f
    • L
      add range scan test to benchmark script · e93f044d
      Lei Jin 提交于
      Summary: as title
      
      Test Plan: ran it
      
      Reviewers: yhchiang, igor, sdong, MarkCallaghan
      
      Reviewed By: MarkCallaghan
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D25563
      e93f044d
  10. 10 12月, 2014 1 次提交
    • I
      Fix #434 · cb82d7b0
      Igor Canadi 提交于
      Summary: Why do we assert here? This doesn't seem like user friendly thing to do :)
      
      Test Plan: none
      
      Reviewers: sdong, yhchiang, rven
      
      Reviewed By: rven
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D30027
      cb82d7b0
  11. 09 12月, 2014 3 次提交
  12. 06 12月, 2014 6 次提交
  13. 05 12月, 2014 1 次提交