1. 06 2月, 2016 5 次提交
    • S
      Explictly fail when memtable doesn't support concurrent insert · b1887c5d
      sdong 提交于
      Summary: If users turn on concurrent insert but the memtable doesn't support it, they might see unexcepted crash. Fix it by explicitly fail.
      
      Test Plan:
      Run different setting of stress_test and make sure it fails correctly.
      Will add a unit test too.
      
      Reviewers: anthony, kradhakrishnan, IslamAbdelRahman, yhchiang, andrewkr, ngbronson
      
      Reviewed By: ngbronson
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D53895
      b1887c5d
    • G
      Add option to run fillseq with WAL enabled in addition to WAL disabled · 8ed34387
      Gunnar Kudrjavets 提交于
      Summary: This set of changes is part of the work to introduce benchmark for universal style compaction in RocksDB. It's conceptually separate from the compaction work, so sending it out as a separate diff to get it out of the way.
      
      Test Plan:
        - Run `./tools/run_flash_bench.sh`.
        - Look at the contents of `report.txt` and `report2.txt` to make sure that data is reported and attributed correctly.
        - During `db_bench` execution time make sure that the correct flags are passed to `--disable_wal` depending on the benchmark being executed.
      
      Reviewers: MarkCallaghan
      
      Reviewed By: MarkCallaghan
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53865
      8ed34387
    • S
      Update version to 4.5 · 73a9b0f4
      sdong 提交于
      Summary: Time to cut branch for release 4.5. Change the versions.
      
      Test Plan: Not needed
      
      Reviewers: IslamAbdelRahman, yhchiang, kradhakrishnan, andrewkr, anthony
      
      Reviewed By: anthony
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D53883
      73a9b0f4
    • R
      Improve perf of Pessimistic Transaction expirations (and optimistic transactions) · 6f71d3b6
      reid horuff 提交于
      Summary:
      copy from task 8196669:
      
      1) Optimistic transactions do not support batching writes from different threads.
      2) Pessimistic transactions do not support batching writes if an expiration time is set.
      
      In these 2 cases, we currently do not do any write batching in DBImpl::WriteImpl() because there is a WriteCallback that could decide at the last minute to abort the write.  But we could support batching write operations with callbacks if we make sure to process the callbacks correctly.
      
      To do this, we would first need to modify write_thread.cc to stop preventing writes with callbacks from being batched together.  Then we would need to change DBImpl::WriteImpl() to call all WriteCallback's in a batch, only write the batches that succeed, and correctly set the state of each batch's WriteThread::Writer.
      
      Test Plan: Added test WriteWithCallbackTest to write_callback_test.cc which creates multiple client threads and verifies that writes are batched and executed properly.
      
      Reviewers: hermanlee4, anthony, ngbronson
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D52863
      6f71d3b6
    • I
      Add BlockBasedTableOptions::index_block_restart_interval · 8e6172bc
      Islam AbdelRahman 提交于
      Summary: Add a new option to BlockBasedTableOptions that will allow us to change the restart interval for the index block
      
      Test Plan: unit tests
      
      Reviewers: yhchiang, anthony, andrewkr, sdong
      
      Reviewed By: sdong
      
      Subscribers: march, dhruba
      
      Differential Revision: https://reviews.facebook.net/D53721
      8e6172bc
  2. 05 2月, 2016 2 次提交
  3. 04 2月, 2016 10 次提交
  4. 03 2月, 2016 6 次提交
    • A
      Eliminate duplicated property constants · 284aa613
      Andrew Kryczka 提交于
      Summary:
      Before this diff, there were duplicated constants to refer to properties (user-
      facing API had strings and InternalStats had an enum). I noticed these were
      inconsistent in terms of which constants are provided, names of constants, and
      documentation of constants. Overall it seemed annoying/error-prone to maintain
      these duplicated constants.
      
      So, this diff gets rid of InternalStats's constants and replaces them with a map
      keyed on the user-facing constant. The value in that map contains a function
      pointer to get the property value, so we don't need to do string matching while
      holding db->mutex_. This approach has a side benefit of making many small
      handler functions rather than a giant switch-statement.
      
      Test Plan: db_properties_test passes, running "make commit-prereq -j32"
      
      Reviewers: sdong, yhchiang, kradhakrishnan, IslamAbdelRahman, rven, anthony
      
      Reviewed By: anthony
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53253
      284aa613
    • G
      94be872e
    • G
      Removing data race from expirable transactions · 0c2bd5cb
      Gabriela Jacques da Silva 提交于
      Summary:
      Doing inline checking of transaction expiration instead of
      using a callback.
      
      Test Plan: To be added
      
      Reviewers: anthony
      
      Reviewed By: anthony
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D53673
      0c2bd5cb
    • N
      disable kConcurrentSkipList multithreaded test · 5fcd1ba3
      Nathan Bronson 提交于
      Summary: Disable test that is intermittently failing
      
      Test Plan: unit tests
      
      Reviewers: igor, andrewkr, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D53715
      5fcd1ba3
    • A
      Generate tags for *.c files · 466c2c1b
      Andrew Kryczka 提交于
      Summary:
      db/c_test.c uses the functions in db/c.cc. If we have tags generated
      for one but not the other, it's easy to make mistakes like updating a function
      signature and missing a call site.
      
      Test Plan:
        $ make tags
      
      in vim:
      
        :cscope find s rocksdb_options_set_compression_options
        ...
        3    325  db/c_test.c <<main>>
                  rocksdb_options_set_compression_options(options, -14, -1, 0);
      
      Reviewers: sdong, yhchiang, IslamAbdelRahman
      
      Reviewed By: IslamAbdelRahman
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53685
      466c2c1b
    • S
      Merge pull request #960 from koldat/masterFixes2 · 70c068c9
      Siying Dong 提交于
      Making use of GetSystemTimePreciseAsFileTime dynamic
      70c068c9
  5. 02 2月, 2016 15 次提交
  6. 01 2月, 2016 1 次提交
  7. 30 1月, 2016 1 次提交
    • V
      Add options.base_background_compactions as a number of compaction threads for low compaction debt · 3b2a1ddd
      Venkatesh Radhakrishnan 提交于
      Summary:
      If options.base_background_compactions is given, we try to schedule number of compactions not existing this number, only when L0 files increase to certain number, or pending compaction bytes more than certain threshold, we schedule compactions based on options.max_background_compactions.
      
      The watermarks are calculated based on slowdown thresholds.
      
      Test Plan:
      Add new test cases in column_family_test.
      Adding more unit tests.
      
      Reviewers: IslamAbdelRahman, yhchiang, kradhakrishnan, rven, anthony
      
      Reviewed By: anthony
      
      Subscribers: leveldb, dhruba, yoshinorim
      
      Differential Revision: https://reviews.facebook.net/D53409
      3b2a1ddd