1. 11 7月, 2014 6 次提交
    • T
      ForwardIterator::status() checks all child iterators · 105c1e09
      Tomislav Novak 提交于
      Summary:
      Forward iterator only checked `status_` and `mutable_iter_->status()`, which is
      not sufficient. For example, when reading exclusively from cache
      (kBlockCacheTier), `mutable_iter_->status()` may return kOk (e.g. there's
      nothing in the memtable), but one of immutable iterators could be in
      kIncomplete. In this case, `ForwardIterator::status()` ought to return that
      status instead of kOk.
      
      This diff changes `status()` to also check `imm_iters_`, `l0_iters_`, and
      `level_iters_`.
      
      Test Plan:
        ROCKSDB_TESTS=TailingIteratorIncomplete ./db_test
      
      Reviewers: ljin, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D19581
      105c1e09
    • S
      Update master to version 3.3 · 01700b69
      sdong 提交于
      Summary: As tittle
      
      Test Plan: no need
      
      Reviewers: igor, yhchiang, ljin
      
      Reviewed By: ljin
      
      Subscribers: haobo, dhruba, xjin, leveldb
      
      Differential Revision: https://reviews.facebook.net/D19629
      01700b69
    • S
      Add a function to return current perf level · 36de0e53
      sdong 提交于
      Summary: Add a function to return the perf level. It is to allow a wrapper of DB to increase the perf level and restore the original perf level after finishing the function call.
      
      Test Plan: Add a verification in db_test
      
      Reviewers: yhchiang, igor, ljin
      
      Reviewed By: ljin
      
      Subscribers: xjin, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D19551
      36de0e53
    • S
      Removing NewTotalOrderPlainTableFactory · 30c81e77
      Stanislau Hlebik 提交于
      Summary:
      Seems like NewTotalOrderPlainTableFactory is useless and is semantically incorrect.
      Total order mode indicator is prefix_extractor == nullptr,
      but NewTotalOrderPlainTableFactory doesn't set it to be nullptr. That's why some tests
      in plain_table_db_tests is incorrect.
      
      Test Plan: make all check
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19587
      30c81e77
    • I
      Add missing DB functions to DocumentDB · 536f4b31
      Igor Canadi 提交于
      536f4b31
    • I
      JSON (Document) API sketch · f0a8be25
      Igor Canadi 提交于
      Summary:
      This is a rough sketch of our new document API. Would like to get some thoughts and comments about the high-level architecture and API.
      
      I didn't optimize for performance at all. Leaving some low-hanging fruit so that we can be happy when we fix them! :)
      
      Currently, bunch of features are not supported at all. Indexes can be only specified when creating database. There is no query planner whatsoever. This will all be added in due time.
      
      Test Plan: Added a simple unit test
      
      Reviewers: haobo, yhchiang, dhruba, sdong, ljin
      
      Reviewed By: ljin
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D18747
      f0a8be25
  2. 10 7月, 2014 9 次提交
    • F
      change the init parameter for FileDescriptor · 222cf255
      Feng Zhu 提交于
      Summary:
        fix a bug in improve_file_key_search, change the parameter for FileDescriptor
      
      Test Plan:
        make all check
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Differential Revision: https://reviews.facebook.net/D19611
      222cf255
    • L
      disable rate limiter test · 8a7d1fe6
      Lei Jin 提交于
      Summary:
      The test is not stable because it relies on disk and only runs for a
      short period of time. So misisng a compaction/flush would greatly affect
      the rate. I am disabling it for now. What do you guys think?
      
      Test Plan: make
      
      Reviewers: yhchiang, igor, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19599
      8a7d1fe6
    • F
      create compressed_levels_ in Version, allocate its space using arena. Make... · f697cad1
      Feng Zhu 提交于
      create compressed_levels_ in Version, allocate its space using arena. Make Version::Get, Version::FindFile faster
      
      Summary:
          Define CompressedFileMetaData that just contains fd, smallest_slice, largest_slice. Create compressed_levels_ in Version, the space is allocated using arena
          Thus increase the file meta data locality, speed up "Get" and "FindFile"
      
          benchmark with in-memory tmpfs, could have 4% improvement under "random read" and 2% improvement under "read while writing"
      
      benchmark command:
      ./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=33554432 --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=readwhilewriting,readwhilewriting,readwhilewriting --use_existing_db=1 --num=52428800 --threads=1 —writes_per_second=81920
      
      Read Random:
      From 1.8363 ms/op, improve to 1.7587 ms/op.
      Read while writing:
      From 2.985 ms/op, improve to 2.924 ms/op.
      
      Test Plan:
          make all check
      
      Reviewers: ljin, haobo, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, igor
      
      Differential Revision: https://reviews.facebook.net/D19419
      f697cad1
    • Y
      Merge pull request #195 from ankgup87/master · cae316d7
      Yueh-Hsuan Chiang 提交于
      [Java] Package .so file with JNI jar
      cae316d7
    • Y
      Some fixes on size compensation logic for deletion entry in compaction · 70828557
      Yueh-Hsuan Chiang 提交于
      Summary:
      This patch include two fixes:
      1. newly created Version will now takes the aggregated stats for average-value-size from the latest Version.
      2. compensated size of a file is now computed only for newly created / loaded file, this addresses the issue where files are already sorted by their compensated file size but might sometimes observe some out-of-order due to later update on compensated file size.
      
      Test Plan:
      export ROCKSDB_TESTS=CompactionDele
      ./db_test
      
      Reviewers: ljin, igor, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19557
      70828557
    • A
      Caching methodId and fieldId is fine: v2 · 0a4d9302
      Ankit Gupta 提交于
      0a4d9302
    • A
      Caching methodId and fieldId is fine · b6caaea9
      Ankit Gupta 提交于
      b6caaea9
    • A
      Revert wrong commit · 21e52267
      Ankit Gupta 提交于
      21e52267
    • A
      Caching methodId and fieldId is fine · 05bd5450
      Ankit Gupta 提交于
      05bd5450
  3. 09 7月, 2014 8 次提交
    • L
      fix one more internal_stats issue · ef1aad97
      Lei Jin 提交于
      Summary: stall count is wrong
      
      Test Plan: make release
      
      Reviewers: sdong, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19539
      ef1aad97
    • L
      make rate limiter test more reliable · 73d71470
      Lei Jin 提交于
      Summary:
      Randomize keys so that compaction actually happens.
      Change the config so that compaction happens more aggressively.
      The test takes longer time, but the results are more stable shown by
      iostat
      
      Test Plan: ran it
      
      Reviewers: igor, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19533
      73d71470
    • L
      report correct interval amplification · 8a9cc788
      Lei Jin 提交于
      Summary: as title
      
      Test Plan: make release
      
      Reviewers: sdong, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19515
      8a9cc788
    • L
      integrate rate limiter into rocksdb · 534357ca
      Lei Jin 提交于
      Summary:
      Add option and plugin rate limiter for PosixWritableFile. The rate
      limiter only applies to flush and compaction. WAL and MANIFEST are
      excluded from this enforcement.
      
      Test Plan: db_test
      
      Reviewers: igor, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19425
      534357ca
    • L
      generic rate limiter · 5ef1ba7f
      Lei Jin 提交于
      Summary:
      A generic rate limiter that can be shared by threads and rocksdb
      instances. Will use this to smooth out write traffic generated by
      compaction and flush. This will help us get better p99 behavior on flash
      storage.
      
      Test Plan:
      unit test output
      ==== Test RateLimiterTest.Rate
      request size [1 - 1023], limit 10 KB/sec, actual rate: 10.374969 KB/sec, elapsed 2002265
      request size [1 - 2047], limit 20 KB/sec, actual rate: 20.771242 KB/sec, elapsed 2002139
      request size [1 - 4095], limit 40 KB/sec, actual rate: 41.285299 KB/sec, elapsed 2202424
      request size [1 - 8191], limit 80 KB/sec, actual rate: 81.371605 KB/sec, elapsed 2402558
      request size [1 - 16383], limit 160 KB/sec, actual rate: 162.541268 KB/sec, elapsed 3303500
      
      Reviewers: yhchiang, igor, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19359
      5ef1ba7f
    • L
      Apply fractional cascading in ForwardIterator::Seek() · b278ae8e
      Lei Jin 提交于
      Summary:
      Use search hint to reduce FindFile range thus avoid comparison
      For a small DB with 50M keys, perf_context counter shows it reduces
      comparison from 2B to 1.3B for a 15-minute run. No perf change was
      observed for 1 seek thread, but quite good improvement was seen for 32
      seek threads, when CPU was busy.
      will post detail results when ready
      
      Test Plan: db_bench and db_test
      
      Reviewers: haobo, sdong, dhruba, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D18879
      b278ae8e
    • I
      Merge pull request #197 from rdallman/update-options · 1b95bf73
      Igor Canadi 提交于
      C API: update options w/ convenience funcs & fifo compaction
      1b95bf73
    • R
      fd3fb4b0
  4. 08 7月, 2014 17 次提交