1. 22 4月, 2014 10 次提交
    • Y
      [Java] Add Java binding and Java test for ReadOptions. · e316af5f
      Yueh-Hsuan Chiang 提交于
      Summary: Add Java binding and test for rocksdb::ReadOptions.
      
      Test Plan:
      make rocksdbjava
      make jtest
      
      Reviewers: haobo, dhruba, sdong, ankgup87, rsumbaly, swapnilghike, zzbennett
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D18129
      e316af5f
    • I
      Single-threaded asan_crash_test · d0939cdc
      Igor Canadi 提交于
      d0939cdc
    • Y
      [Java] Add Java bindings for memtables and sst format. · ef8b8a8e
      Yueh-Hsuan Chiang 提交于
      Summary:
      Add Java bindings for memtables and sst format.  Specifically,
      add two abstract Java classses --- MemTableConfig and SstFormatConfig.
      Each MemTable / SST implementation should has its own config class
      extends MemTableConfig / SstFormatConfig respectively and pass it
      to Options via setMemTableConfig / setSstConfig.
      
      Test Plan:
      make rocksdbjava
      make jdb_test
      make jdb_bench
      java/jdb_bench.sh \
        --benchmarks=fillseq,readrandom,readwhilewriting \
        --memtablerep=hash_skiplist \
        --use_plain_table=1 \
        --key_size=20 \
        --prefix_size=12 \
        --value_size=100 \
        --cache_size=17179869184 \
        --disable_wal=0 \
        --sync=0 \
      
      Reviewers: haobo, ankgup87, sdong
      
      Reviewed By: haobo
      
      CC: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D17997
      ef8b8a8e
    • I
      Rename "benchmark" back to "bench". · 8dc34364
      Igor Canadi 提交于
      Also, make `benchharness.cc` not compiled into rocksdb library.
      8dc34364
    • I
      Relax env_test::AllocateTest · 05c16865
      Igor Canadi 提交于
      05c16865
    • P
      Added benchmark functionality on the lines of folly/Benchmark.h · ff1b5df4
      Pratyush Seth 提交于
      Summary: Added benchmark functionality on the lines of folly/Benchmark.h
      
      Test Plan: Added unit tests
      
      Reviewers: igor, haobo, sdong, ljin, yhchiang, dhruba
      
      Reviewed By: igor
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17973
      ff1b5df4
    • I
      Fix Allocate test · c7076a7a
      Igor Canadi 提交于
      Summary: For some reason, on a subset of our continuous build machines, preallocation is allocating 8 block more than it should be. Let's relax the test a little bit -- now we require the test to allocate *at least* the number of blocks as we told them to.
      
      Test Plan: no
      
      Reviewers: ljin, haobo, sdong
      
      Reviewed By: ljin
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D18141
      c7076a7a
    • I
      Remove TransactionLogIteratorRace when -DNDEBUG · f813279d
      Igor Canadi 提交于
      f813279d
    • I
      Merge pull request #124 from ankgup87/master · 11e85254
      Igor Canadi 提交于
      [Java] Add iterator JNI bindings
      11e85254
    • L
      hints for narrowing down FindFile range and avoiding checking unrelevant L0 files · 0f2d7681
      Lei Jin 提交于
      Summary:
      The file tree structure in Version is prebuilt and the range of each file is known.
      On the Get() code path, we do binary search in FindFile() by comparing
      target key with each file's largest key and also check the range for each L0 file.
      With some pre-calculated knowledge, each key comparision that has been done can serve
      as a hint to narrow down further searches:
      (1) If a key falls within a L0 file's range, we can safely skip the next
      file if its range does not overlap with the current one.
      (2) If a key falls within a file's range in level L0 - Ln-1, we should only
      need to binary search in the next level for files that overlap with the current one.
      
      (1) will be able to skip some files depending one the key distribution.
      (2) can greatly reduce the range of binary search, especially for bottom
      levels, given that one file most likely only overlaps with N files from
      the level below (where N is max_bytes_for_level_multiplier). So on level
      L, we will only look at ~N files instead of N^L files.
      
      Some inital results: measured with 500M key DB, when write is light (10k/s = 1.2M/s), this
      improves QPS ~7% on top of blocked bloom. When write is heavier (80k/s =
      9.6M/s), it gives us ~13% improvement.
      
      Test Plan: make all check
      
      Reviewers: haobo, igor, dhruba, sdong, yhchiang
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17205
      0f2d7681
  2. 20 4月, 2014 5 次提交
  3. 19 4月, 2014 9 次提交
  4. 18 4月, 2014 9 次提交
    • Y
      [Java] Add Java bindings for 30 options for rocksdb::DBOptions. · 9b2a0939
      Yueh-Hsuan Chiang 提交于
      Summary:
      1. Add Java bindings for 30 options for rocksdb::DBOptions.
      2. Add org.rocksdb.test.OptionsTest
      3. Codes are semi-auto generated, JavaDocs are manually polished.
      
      Test Plan:
      make rocksdbjava
      make jtest
      
      Reviewers: haobo, ankgup87, sdong, dhruba
      
      Reviewed By: dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D18015
      9b2a0939
    • Y
      [Java] Add a basic binding and test for BackupableDB and StackableDB. · bb6fd15a
      Yueh-Hsuan Chiang 提交于
      Summary:
      Add a skeleton binding and test for BackupableDB which shows that BackupableDB
      and RocksDB can share the same JNI calls.
      
      Test Plan:
      make rocksdbjava
      make jtest
      
      Reviewers: haobo, ankgup87, sdong, dhruba
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17793
      bb6fd15a
    • S
      Fix bugs introduced by D17961 · 65179225
      sdong 提交于
      Summary:
      D17961 has two bugs:
      (1) two level iterator fails to populate FileMetaData.table_reader, causing performance regression.
      (2) table cache handle the !status.ok() case in the wrong place, causing seg fault which shouldn't happen.
      
      Test Plan: make all check
      
      Reviewers: ljin, igor, haobo
      
      Reviewed By: ljin
      
      CC: yhchiang, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D17991
      65179225
    • I
      Nuke tools/shell · ce353c24
      Igor Canadi 提交于
      Summary: We don't use or build this code
      
      Test Plan: builds
      
      Reviewers: dhruba
      
      Reviewed By: dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17979
      ce353c24
    • I
      Fix ifdef NDEBUG · 86ae8203
      Igor Canadi 提交于
      86ae8203
    • S
      Minimize accessing multiple objects in Version::Get() · fa430bfd
      sdong 提交于
      Summary:
      One of our profilings shows that Version::Get() sometimes is slow when getting pointer of user comparators or other global objects. In this patch:
      (1) we keep pointers of immutable objects in Version to avoid accesses them though option objects or cfd objects
      (2) table_reader is directly cached in FileMetaData so that table cache don't have to go through handle first to fetch it
      (3) If level 0 has less than 3 files, skip the filtering logic based on SST tables' key range. Smallest and largest key are stored in separated memory locations, which has potential cache misses
      
      Test Plan: make all check
      
      Reviewers: haobo, ljin
      
      Reviewed By: haobo
      
      CC: igor, yhchiang, nkg-, leveldb
      
      Differential Revision: https://reviews.facebook.net/D17739
      fa430bfd
    • K
      Index type doesn't have to be persisted · e37dd216
      Kai Liu 提交于
      Summary:
      
      With the recent changes, there is no need to check the property block about the index block type.
      If user want to use it, they don't really need any disk format change; everything happens in the fly.
      
      Also another team encountered an error while reading the index type from properties.
      
      Test Plan:
      
      ran all the tests
      
      Reviewers: sdong
      
      CC:
      
      Task ID: #
      
      Blame Rev:
      e37dd216
    • I
      Don't compile sync_point if NDEBUG · 62551b1c
      Igor Canadi 提交于
      Summary:
      We don't really need sync_point.o if we're compiling with NDEBUG.
      
      This diff depends on D17823
      
      Test Plan: compiles
      
      Reviewers: haobo, ljin, sdong
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17829
      62551b1c
    • S
      RocksDB 2.8 to be able to read files generated by 2.6 · 5cef458a
      sdong 提交于
      Summary:
      From 2.6 to 2.7, property block name is renamed from rocksdb.stats to rocksdb.properties. Older properties were not able to be loaded. In 2.8, we seem to have added some logic that uses property block without checking null pointers, which create segment faults.
      
      In this patch, we fix it by:
      (1) try rocksdb.stats if rocksdb.properties is not found
      (2) add some null checking before consuming rep->table_properties
      
      Test Plan: make sure a file generated in 2.7 couldn't be opened now can be opened.
      
      Reviewers: haobo, igor, yhchiang
      
      Reviewed By: igor
      
      CC: ljin, xjin, dhruba, kailiu, leveldb
      
      Differential Revision: https://reviews.facebook.net/D17961
      5cef458a
  5. 17 4月, 2014 7 次提交