1. 24 7月, 2014 1 次提交
  2. 23 7月, 2014 9 次提交
    • I
      Also bump version in Makefile · f82d4a24
      Igor Canadi 提交于
      f82d4a24
    • I
      Bump the version · 1053358a
      Igor Canadi 提交于
      1053358a
    • I
      Move include/utilities/*.h to include/rocksdb/utilities/*.h · 0ff183a0
      Igor Canadi 提交于
      Summary:
      All public headers need to be under `include/rocksdb` directory. Otherwise, clients include our header files like this:
      
          #include <rocksdb/db.h>
          #include <utilities/backupable_db.h> // still our public header!
      
      Also, internally, we include:
      
          #include "utilities/backupable/backupable_db.h" // internal header
          #include "utilities/backupable_db.h" // public header
      
      which is confusing.
      
      This way, when we install rocksdb as a system library, we can just copy `include/rocksdb` directory to system's header files. We can't really copy `utilities` directory to system's header files.
      
      Test Plan: compiles
      
      Reviewers: dhruba, ljin, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D20409
      0ff183a0
    • S
      Add a utility function to guess optimized options based on constraints · e6de0210
      sdong 提交于
      Summary:
      Add a function GetOptions(), where based on four parameters users give: read/write amplification threshold, memory budget for mem tables and target DB size, it picks up a compaction style and parameters for them. Background threads are not touched yet.
      
      One limit of this algorithm: since compression rate and key/value size are hard to predict, it's hard to predict level 0 file size from write buffer size. Simply make 1:1 ratio here.
      
      Sample results: https://reviews.facebook.net/P477
      
      Test Plan: Will add some a unit test where some sample scenarios are given and see they pick the results that make sense
      
      Reviewers: yhchiang, dhruba, haobo, igor, ljin
      
      Reviewed By: ljin
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D18741
      e6de0210
    • Y
      [Java] Optimize statistics collector, improve object dependency in RocksObjects · 250f0357
      Yueh-Hsuan Chiang 提交于
      Summary:
      This diff merges pull request 208.  Contributor: ankgup87
      
      [Java] Optimize statistics collector
      * Optimize statistics collector by collecting statistics of multiple DBs in a single thread rather than starting up a new thread for each DB.
      * Also, fix packaging of jnilib file on OS_X platform.
      * Diff review: https://reviews.facebook.net/D20265
      
      [Java] Add documentation on interdependency of dispose call of RocksObjects
      * Remove transferCppRawPointersOwnershipFrom function.
        - This function was setting opt.filter_ and thus filter_ to be null. This way there is no
          one holding reference for filter object and can thus be GC'd which is not the intention.
          Replaced it with storeOptionsInstace which stores options instance. Options class
          internally holds Filter instance. Thus when Options is GC'd, filter reference
          will be GC'd automatically.
      * Added documentation explaining interdependency of Filter, Options and DB.
      * Diff review: https://reviews.facebook.net/D20379
      
      Test Plan:
      described in their diff reviews
      
      Reviewers:  haobo sdong swapnilghike zzbennett rsumbaly yhchiang
      
      Reviewed by: yhchiang
      250f0357
    • A
      [Java] Optimize statistics collector, improve object dependency in RocksObjects · 25682d15
      Ankit Gupta 提交于
      Summary:
      This diff merges pull request #208.  Contributor: ankgup87
      
      [Java] Optimize statistics collector
      * Optimize statistics collector by collecting statistics of multiple DBs in a single thread rather than starting up a new thread for each DB.
      * Also, fix packaging of jnilib file on OS_X platform.
      * Diff review: https://reviews.facebook.net/D20265
      
      [Java] Add documentation on interdependency of dispose call of RocksObjects
      * Remove transferCppRawPointersOwnershipFrom function.
        - This function was setting opt.filter_ and thus filter_ to be null. This way there is no
          one holding reference for filter object and can thus be GC'd which is not the intention.
          Replaced it with storeOptionsInstace which stores options instance. Options class
          internally holds Filter instance. Thus when Options is GC'd, filter reference
          will be GC'd automatically.
      * Added documentation explaining interdependency of Filter, Options and DB.
      * Diff review: https://reviews.facebook.net/D20379
      
      Test Plan:
      described in their diff reviews
      
      Reviewers:  haobo sdong swapnilghike zzbennett rsumbaly yhchiang
      
      Reviewed by: yhchiang
      25682d15
    • I
      Fix signed-unsigned compare error · 2d3d6359
      Igor Canadi 提交于
      2d3d6359
    • R
      Fixing memory leaks in cuckoo_table_builder_test · f6272e30
      Radheshyam Balasundaram 提交于
      Summary: Fixes some memory leaks in cuckoo_builder_test.cc. This also fixed broken valgrind_check tests
      
      Test Plan:
      make valgrind_check
      ./cuckoo_builder_test
      Currently running make check all. I shall update once it is done.
      
      Reviewers: ljin, sdong, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D20385
      f6272e30
    • Y
      [Java] Add Java support for cache sharding. · d19aa255
      Yueh-Hsuan Chiang 提交于
      Summary:
      Add setCacheNumShardBits() and cacheNumShardBits() to Options.  This allows
      developers to control the number of shards for the block cache.
      
      Test Plan:
      make rocksdbjava
      cd java
      make db_bench
      ./jdb_bench.sh --cache_size=1048576 --cache_numshardbits=6
      
      Reviewers: sdong, ljin, ankgup87
      
      Reviewed By: ankgup87
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19347
      d19aa255
  3. 22 7月, 2014 9 次提交
    • Y
      Fixed some make and linking issues of RocksDBJava · ae7743f2
      Yueh-Hsuan Chiang 提交于
      Summary:
      Fixed some make and linking issues of RocksDBJava. Specifically:
      * Add JAVA_LDFLAGS, which does not include gflags
      * rocksdbjava library now uses JAVA_LDFLAGS instead of LDFLAGS
      * java/Makefile now includes build_config.mk
      * rearrange make rocksdbjava workflow to ensure the library file is correctly
        included in the jar file.
      
      Test Plan:
      make rocksdbjava
      make jdb_bench
      java/jdb_bench.sh
      
      Reviewers: dhruba, swapnilghike, zzbennett, rsumbaly, ankgup87
      
      Reviewed By: ankgup87
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D20289
      ae7743f2
    • S
      Allow user to specify DB path of output file of manual compaction · f6b7e1ed
      sdong 提交于
      Summary: Add a parameter path_id to DB::CompactRange(), to indicate where the output file should be placed to.
      
      Test Plan: add a unit test
      
      Reviewers: yhchiang, ljin
      
      Reviewed By: ljin
      
      Subscribers: xjin, igor, dhruba, MarkCallaghan, leveldb
      
      Differential Revision: https://reviews.facebook.net/D20085
      f6b7e1ed
    • Y
      Fixed a compile error of cuckoo_table_builder. · bbe2e91d
      Yueh-Hsuan Chiang 提交于
      Summary:
      Fixed the following compile error.
      
      ./table/cuckoo_table_builder.h:72:22: error: private field 'key_length_' is not used [-Werror,-Wunused-private-field]
        const unsigned int key_length_;
                           ^
      1 error generated.
      
      Test Plan: make
      
      Reviewers: sdong, ljin, radheshyamb, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D20349
      bbe2e91d
    • R
      Adding a new SST table builder based on Cuckoo Hashing · cf3da899
      Radheshyam Balasundaram 提交于
      Summary:
      Cuckoo Hashing based SST table builder. Contains:
      - Cuckoo Hashing logic and file storage logic.
      - Unit tests for logic
      
      Test Plan:
      make cuckoo_table_builder_test
      ./cuckoo_table_builder_test
      make check all
      
      Reviewers: yhchiang, igor, sdong, ljin
      
      Reviewed By: ljin
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D19545
      cf3da899
    • L
      make internal stats independent of statistics · f6f1533c
      Lei Jin 提交于
      Summary:
      also make it aware of column family
      output from db_bench
      
      ```
      ** Compaction Stats [default] **
      Level Files Size(MB) Score Read(GB)  Rn(GB) Rnp1(GB) Write(GB) Wnew(GB) RW-Amp W-Amp Rd(MB/s) Wr(MB/s)  Rn(cnt) Rnp1(cnt) Wnp1(cnt) Wnew(cnt)  Comp(sec) Comp(cnt) Avg(sec) Stall(sec) Stall(cnt) Avg(ms)
      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        L0    14      956   0.9      0.0     0.0      0.0       2.7      2.7    0.0   0.0      0.0    111.6        0         0         0         0         24        40    0.612      75.20     492387    0.15
        L1    21     2001   2.0      5.7     2.0      3.7       5.3      1.6    5.4   2.6     71.2     65.7       31        43        55        12         82         2   41.242      43.72      41183    1.06
        L2   217    18974   1.9     16.5     2.0     14.4      15.1      0.7   15.6   7.4     70.1     64.3       17       182       185         3        241        16   15.052       0.00          0    0.00
        L3  1641   188245   1.8      9.1     1.1      8.0       8.5      0.5   15.4   7.4     61.3     57.2        9        75        76         1        152         9   16.887       0.00          0    0.00
        L4  4447   449025   0.4     13.4     4.8      8.6       9.1      0.5    4.7   1.9     77.8     52.7       38        79       100        21        176        38    4.639       0.00          0    0.00
       Sum  6340   659201   0.0     44.7    10.0     34.7      40.6      6.0   32.0  15.2     67.7     61.6       95       379       416        37        676       105    6.439     118.91     533570    0.22
       Int     0        0   0.0      1.2     0.4      0.8       1.3      0.5    5.2   2.7     59.1     65.6        3         7         9         2         20        10    2.003       0.00          0    0.00
      Stalls(secs): 75.197 level0_slowdown, 0.000 level0_numfiles, 0.000 memtable_compaction, 43.717 leveln_slowdown
      Stalls(count): 492387 level0_slowdown, 0 level0_numfiles, 0 memtable_compaction, 41183 leveln_slowdown
      
      ** DB Stats **
      Uptime(secs): 202.1 total, 13.5 interval
      Cumulative writes: 6291456 writes, 6291456 batches, 1.0 writes per batch, 4.90 ingest GB
      Cumulative WAL: 6291456 writes, 6291456 syncs, 1.00 writes per sync, 4.90 GB written
      Interval writes: 1048576 writes, 1048576 batches, 1.0 writes per batch, 836.0 ingest MB
      Interval WAL: 1048576 writes, 1048576 syncs, 1.00 writes per sync, 0.82 MB written
      
      Test Plan: ran it
      
      Reviewers: sdong, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19917
      f6f1533c
    • F
      add options.block_restart_interval in db_bench · 50c2dcb7
      Feng Zhu 提交于
      Summary:
        Add block_restart_interval in db_bench, default value 16
      
      Test Plan:
        make
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Differential Revision: https://reviews.facebook.net/D20331
      50c2dcb7
    • L
      improve comments for CrateRateLimiter() · 9c0d84d2
      Lei Jin 提交于
      Summary:
      Suggested by @dhruba from the other diff, here is the improved
      comments for parameters of the function
      
      Test Plan: none
      
      Reviewers: dhruba, sdong, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D19623
      9c0d84d2
    • S
      Fix db_bench · c1a90b08
      Stanislau Hlebik 提交于
      Summary: Adding check for zero size index
      
      Test Plan: ./build_tools/regression_build_test.sh
      
      Reviewers: yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D20259
      c1a90b08
    • Y
      [Java] Fixed the Java compilation error caused by PlainTableFactory API change. · 80a94d05
      Yueh-Hsuan Chiang 提交于
      Summary: Fixed the Java compilation error caused by PlainTableFactory API change.
      
      Test Plan:
      make rocksdbjava
      make jdb_bench
      cd java;./jdb_bench.sh
      
      Reviewers: sdong, ljin, ankgup87, swapnilghike, zzbennett, rsumbaly, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D20295
      80a94d05
  4. 21 7月, 2014 1 次提交
  5. 20 7月, 2014 1 次提交
  6. 19 7月, 2014 2 次提交
  7. 18 7月, 2014 6 次提交
  8. 17 7月, 2014 6 次提交
    • Y
      Add struct CompactionInputFiles to manage compaction input files. · 296e3407
      Yueh-Hsuan Chiang 提交于
      Summary: Add struct CompactionInputFiles to manage compaction input files.
      
      Test Plan:
      export ROCKSDB_TESTS=Compact
      make db_test
      ./db_test
      
      Reviewers: ljin, igor, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D20061
      296e3407
    • F
      enable kHashSearch for blocktable in db_bench · bc6b2ab4
      Feng Zhu 提交于
      Summary:
        add a flag called use_hash_search in db_bench
      
      Test Plan:
        make all check
        ./db_bench --use_hash_search=1
      
      Reviewers: ljin, haobo, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: igor, dhruba
      
      Differential Revision: https://reviews.facebook.net/D20067
      bc6b2ab4
    • F
      fix bug in LOG for flush memtable · 87895c62
      Feng Zhu 提交于
      Summary:
        One line change to fix a bug in the LOG when flush memtable
      
      Test Plan:
        NONE
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Differential Revision: https://reviews.facebook.net/D20049
      87895c62
    • S
      Fix db_test · 1c9f190a
      Stanislau Hlebik 提交于
      Summary: Added deletion of DBIterators in DBIterator's tests
      
      Test Plan: make valgrind_check
      
      Reviewers: igor, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D20043
      1c9f190a
    • R
      Refactoring Version::Get() · 0418e66e
      Radheshyam Balasundaram 提交于
      Summary: Refactoring Version::Get() method to move file picker logic to a separate class.
      
      Test Plan: make check all
      
      Reviewers: igor, sdong, ljin
      
      Reviewed By: ljin
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19713
      0418e66e
    • F
      store file_indexer info in sequential memory · c11d604a
      Feng Zhu 提交于
      Summary:
        use arena to allocate space for next_level_index_ and level_rb_
        Thus increasing data locality and make Version::Get faster.
      
      Benchmark detail
      Base version: commit d2a727c1
      
      command used:
      ./db_bench --db=/mnt/db/rocksdb --num_levels=6 --key_size=20 --prefix_size=20 --keys_per_prefix=0 --value_size=100 --block_size=4096 --cache_size=17179869184 --cache_numshardbits=6 --compression_type=none --compression_ratio=1 --min_level_to_compress=-1 --disable_seek_compaction=1 --hard_rate_limit=2 --write_buffer_size=134217728 --max_write_buffer_number=2 --level0_file_num_compaction_trigger=8 --target_file_size_base=2097152 --max_bytes_for_level_base=1073741824 --disable_wal=0 --sync=0 --disable_data_sync=1 --verify_checksum=1 --delete_obsolete_files_period_micros=314572800 --max_grandparent_overlap_factor=10 --max_background_compactions=4 --max_background_flushes=0 --level0_slowdown_writes_trigger=16 --level0_stop_writes_trigger=24 --statistics=0 --stats_per_interval=0 --stats_interval=1048576 --histogram=0 --use_plain_table=1 --open_files=-1 --mmap_read=1 --mmap_write=0 --memtablerep=prefix_hash --bloom_bits=10 --bloom_locality=1 --perf_level=0 --benchmarks=fillseq, readrandom,readrandom,readrandom --use_existing_db=0 --num=52428800 --threads=1
      
      Result:
      cpu running percentage:
      Version::Get, improved from 7.98% to 7.42%
      FileIndexer::GetNextLevelIndex, improved from 1.18% to 0.68%.
      
      Test Plan:
        make all check
      
      Reviewers: ljin, haobo, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, igor
      
      Differential Revision: https://reviews.facebook.net/D19845
      c11d604a
  9. 16 7月, 2014 3 次提交
  10. 15 7月, 2014 2 次提交