1. 02 2月, 2016 1 次提交
    • D
      Enable per-request buffer allocation in RandomAccessFile · 36300fbb
      Dmitri Smirnov 提交于
       This change impacts only non-buffered I/O on Windows.
       Currently, there is a buffer per RandomAccessFile
       instance that is protected by a lock. The reason we
       maintain the buffer is non-buffered I/O requires an aligned
       buffer to work.
       XPerf traces demonstrate that we accumulate a considerable
       wait time while waiting for that lock.
       This change enables to set random access buffer size to zero
       which would indicate a per request allocation.
       We are expecting that allocation expense would be much less than
       I/O costs plus wait time due to the fact that the memory heap
       would tend to re-use page aligned allocations especially with the
       use of Jemalloc.
       This change does not affect buffer use as a read_ahead_buffer for
       compaction purposes.
      36300fbb
  2. 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
  3. 29 1月, 2016 4 次提交
  4. 28 1月, 2016 5 次提交
  5. 27 1月, 2016 13 次提交
  6. 26 1月, 2016 8 次提交
    • S
      ldb to support --column_family option · 38e1d7fe
      sdong 提交于
      Summary:
      Add an option --column_family option, so that users can query or update specific column family.
      Also add an create column family parameter to make unit test easier.
      Still need to add unit tests.
      
      Test Plan: Will add a test case in ldb python test.
      
      Reviewers: yhchiang, rven, andrewkr, IslamAbdelRahman, kradhakrishnan, anthony
      
      Reviewed By: anthony
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D53265
      38e1d7fe
    • S
      Parameterize DBTest.Randomized · da33dfe1
      sdong 提交于
      Summary: Break down DBTest.Randomized to multiple gtest tests based on config type
      
      Test Plan: Run the test and all tests. Make sure configurations are correctly set
      
      Reviewers: yhchiang, IslamAbdelRahman, rven, kradhakrishnan, andrewkr, anthony
      
      Reviewed By: anthony
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D53247
      da33dfe1
    • S
      Add a perf context level that doesn't measure time for mutex operations · fb9811ee
      sdong 提交于
      Summary: Timing mutex operations can impact scalability of the system. Add a new perf context level that can measure time counters except for mutex.
      
      Test Plan: Add a new unit test case to make sure it is not set.
      
      Reviewers: IslamAbdelRahman, rven, kradhakrishnan, yhchiang, anthony
      
      Reviewed By: anthony
      
      Subscribers: MarkCallaghan, leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D53199
      fb9811ee
    • I
      Include rest of dependencies in dependencies.sh · f7ef1a61
      Islam AbdelRahman 提交于
      Summary:
      This diff
      
        - Include the rest of the dependencies (kernel-headers, binutils, valgrind) in dependencies.sh
        - updtade zst to 0.4.7
        - It also fix a problem in clang scan build
      
      Test Plan:
      make check
      USE_CLANG=1 make check
      USE_CLANG=1 make analyze
      coverage_test.sh
      
      Reviewers: sdong, yhchiang, rven, andrewkr, kradhakrishnan
      
      Reviewed By: kradhakrishnan
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D53301
      f7ef1a61
    • A
      Updated GetProperty documentation · 3e9209a0
      Andrew Kryczka 提交于
      Summary: As titled. Also added the kBaseLevel string, which was missing earlier.
      
      Test Plan: built
      
      Reviewers: yhchiang, anthony, rven, kradhakrishnan, IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53271
      3e9209a0
    • V
      Run unit tests in parallel to find failing tests · 40911e0b
      Venkatesh Radhakrishnan 提交于
      Summary:
      Added make targets parallel_test and parallel_dbtest to run
      tests in parallel. Each test is run 32 times in parallel. There is a
      timeout to catch hangs. The test continues after a failure and reports
      non-zero status on failure
      
      Test Plan: Run the two make targets
      
      Reviewers: anthony, yhchiang, IslamAbdelRahman, kradhakrishnan, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53079
      40911e0b
    • I
      Disallow SstFileWriter from creating empty sst files · 2fbc59a3
      Islam AbdelRahman 提交于
      Summary:
      SstFileWriter may create an sst file with no entries
      Right now this will fail when being ingested using DB::AddFile() saying that the keys are corrupted
      
      Test Plan: make check
      
      Reviewers: yhchiang, rven, anthony, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D52815
      2fbc59a3
    • K
      Cosmetic fixes and comments for the reader · f53c95f8
      krad 提交于
      Summary:
      Cosmetic fixes and some comments for the script. It is one big hack and
      hopefully the comments will make it easy to maintain.
      
      Test Plan: Run manual tests
      
      Reviewers: sdong, rven
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53277
      f53c95f8
  7. 23 1月, 2016 4 次提交
    • S
      Add tests to make sure new DB or ColumnFamily options are settable through string · f1ed1701
      sdong 提交于
      Summary: Add a test to fail if someone adds a DB options.
      
      Test Plan: Run the test, run the test with valgrind. Add an option to DB option in the middle or in the end and make sure it fails.
      
      Reviewers: yhchiang, anthony, IslamAbdelRahman, kradhakrishnan, rven, andrewkr
      
      Reviewed By: andrewkr
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D53097
      f1ed1701
    • K
      Improvements to pre-commit · f57596b0
      krad 提交于
      Summary:
      - UI is enhanced to lists the tests, status and the results
      - We are using the same pre-commit tool as the make equivalent
      - No more emails to user on failure
      - Dropped valgrind from the list since it can be a time hogger (and can hurt
        scheduling for others)
      - Patching bug fix
      - Made the jobs run in parallel in sandcastle
      
      Test Plan: Manual test
      
      Reviewers: sdong, rven, igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53217
      
      Making parallel requests to sandcastle
      
      Test Plan: Run manual tests
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D53259
      f57596b0
    • I
      Update fbcode_config.sh to use latest versions automatically · 538eec06
      Islam AbdelRahman 提交于
      Summary:
      Update fbcode_config.sh so that It try to use the latest version for dependencies that we are using, after updating the code these libraries where updated
      
      ```
      Snappy: 1.0.3 => 1.1.3
      GFLAGS: 1.6 => 2.1.1
      JEMALLOC: 3.6.0 => 4.0.3
      ```
      
      I have also updated clang from 3.7 to 3.7.1
      
      ```
      Clang 3.7 => 3.7.1
      ```
      
      Another change is that we use the same tp2 directory as fbcode, so we dont need to keep changing commit hash every time we need to change a version of a compiler or a library
      
      Test Plan:
      make check -j64
      USE_CLANG=1 make check -j64
      
      DISABLE_JEMALLOC=1 OPT=-g make all valgrind_check -j32 (make sure it's running)
      
      Reviewers: yhchiang, anthony, rven, kradhakrishnan, andrewkr, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D53037
      538eec06
    • A
      improve test for manifest write failure · 8019aa9b
      agiardullo 提交于
      Summary: Improve testing per discussion in D52989
      
      Test Plan: ran test
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53211
      8019aa9b
  8. 22 1月, 2016 4 次提交
    • A
      Revert D7809 · bcd4ccbc
      agiardullo 提交于
      Summary: Revert the functionaility of D7809 (but I'm keeping the logging and test code).  We decided it was dangerous to ignore sync failures based on attempting to read the data written.  The read does not tell us whether the data was synced.
      
      Test Plan: There was no test for the particular functionaility that was reverted.  Keeping the test code from D7809 that tests whether we set the DB to be readonly when paranoid checks are enabled.
      
      Reviewers: rven, yhchiang, kradhakrishnan, IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D52989
      bcd4ccbc
    • K
      Mechanism to run CI jobs on local branch via commit_prereq · b0a15e7f
      krad 提交于
      Summary: This patch provides a mechanism to run pre commit tests on the local
      branch before committing. This can help prevent frequent build breaks.
      
      The tests can be run in parallel by specifying the J=<..> environment
      variable.
      
      Test Plan: Run manually
      
      Reviewers: sdong rven tec
      
      CC: leveldb@
      
      Task ID: #9689218
      
      Blame Rev:
      b0a15e7f
    • A
      Cleanup property-related variable names · bb288873
      Andrew Kryczka 提交于
      Summary:
      I noticed these names were quite confusing while updating GetProperty
      documentation.
      
      Test Plan: running "make commit-prereq -j32"
      
      Reviewers: yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53073
      bb288873
    • A
      Add named constants for remaining properties · 29289333
      Andrew Kryczka 提交于
      Summary:
      There were just these two properties that didn't have any named
      constant.
      
      Test Plan:
      build and below test
      
        $ ./db_properties_test --gtest_filter=DBPropertiesTest.NumImmutableMemTable
      
      Reviewers: yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53103
      29289333