1. 27 1月, 2016 8 次提交
    • I
      Update fbcode_config4.8.1.sh to use update_dependencies.sh · 77ef87cc
      Islam AbdelRahman 提交于
      Summary:
      This patch update fbcode_config4.8.1.sh to get it's dependencies the same way we updated fbcode_config.sh in D53037
      
      as a result zstd is upgraded to 0.4.7 instead of 0.4.5
      
      Test Plan:
      make clean && ROCKSDB_FBCODE_BUILD_WITH_481=1 make check -j64
      make clean && ROCKSDB_FBCODE_BUILD_WITH_481=1 USE_CLANG=1 make check -j64
      
      Reviewers: yhchiang, andrewkr, rven, kradhakrishnan, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D53355
      77ef87cc
    • Y
      Fix an ASAN error in compact_files_test · 955ecf8b
      Yueh-Hsuan Chiang 提交于
      Summary:
      compact_files_test enables SyncPoint but never disable it before
      the test terminates.  As a result, it might cause heap-use-after-free
      error when some code path trying to access the static variable of
      SyncPoint when it has already gone out of scope after the main thread
      dies.
      
      Test Plan:
      COMPILE_WITH_ASAN=1 make compact_files_test -j32
      ./compact_files_test
      
      Reviewers: sdong, anthony, kradhakrishnan, rven, andrewkr, IslamAbdelRahman
      
      Reviewed By: IslamAbdelRahman
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53379
      955ecf8b
    • I
      Fix bug in block based tables with full filter block and prefix_extractor · b0afcdee
      Islam AbdelRahman 提交于
      Summary:
      Right now when we are creating a BlockBasedTable with fill filter block
      we add to the filter all the prefixes that are InDomain() based on the prefix_extractor
      
      the problem is that when we read a key from the file, we check the filter block for the prefix whether or not it's InDomain()
      
      Test Plan: unit tests
      
      Reviewers: yhchiang, rven, anthony, kradhakrishnan, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D53385
      b0afcdee
    • A
    • A
      [directory includes cleanup] Remove util->db dependency for ThreadStatusUtil · acd7d586
      Andrew Kryczka 提交于
      Summary:
      We can avoid the dependency by forward-declaring ColumnFamilyData and
      then treating it as a black box. That means callers of ThreadStatusUtil need to
      explicitly provide more options, even if they can be derived from the
      ColumnFamilyData, since ThreadStatusUtil doesn't include the definition.
      
      This is part of a series of diffs to eliminate circular dependencies between
      directories (e.g., db/* files depending on util/* files and vice-versa).
      
      Test Plan:
        $ ./db_test --gtest_filter=DBTest.GetThreadStatus
        $ make -j32 commit-prereq
      
      Reviewers: sdong, yhchiang, IslamAbdelRahman
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53361
      acd7d586
    • A
      [directory includes cleanup] Move cross-function test points · 46f9cd46
      Andrew Kryczka 提交于
      Summary:
      I split the db-specific test points out into a separate file under db/
      directory. There were also a few bugs to fix in xfunc.{h,cc} that prevented it
      from compiling previously; see https://reviews.facebook.net/D36825.
      
      Test Plan:
      compilation works now, below command works, will also run "make xfunc".
      
        $ make check ROCKSDB_XFUNC_TEST='managed_new' tests-regexp='DBTest' -j32
      
      Reviewers: sdong, yhchiang
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D53343
      46f9cd46
    • K
      Add valgrind to pre-commit sandcastle testing · 22ecb752
      krad 提交于
      Summary:
      Initially I removed "valgrind" from the list since it take too much
      time (3+hr) compared to tsan (40 min) when the tests are run in parallel. It is
      not effective to run the tests in parallel in sandcastle and tsan takes about
      3hrs as well.
      
      Adding valgrind to the list.
      
      Test Plan: Submit this diff and watch the run
      
      Reviewers: sdong, rven
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53337
      22ecb752
    • V
      Fix intermittent hang in ColumnFamilyTest.FlushAndDropRaceCondition · b7ecf3d2
      Venkatesh Radhakrishnan 提交于
      Summary:
      ColumnFamilyTest.FlushAndDropRaceCondition sometimes
      hangs because the sync point, "FlushJob::InstallResults", sleeps
      holding the DB mutex. Fixing it by releasing the mutex before sleeping.
      
      Test Plan:
      seq 1000 |parallel --gnu --eta 't=/dev/shm/rdb-{}; rm -rf $t;
      mkdir $t && export TEST_TMPDIR=$t; ./column_family_test
      -gtest_filter=*FlushAndDropRaceCondition* > $t/log-{}'
      
      Reviewers: IslamAbdelRahman, anthony, kradhakrishnan, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53349
      b7ecf3d2
  2. 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
  3. 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
  4. 22 1月, 2016 6 次提交
    • 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
    • S
      Disable OptionsParserTest.BlockBasedTableOptionsAllFieldsSettable under CLANG · 2c2b7221
      sdong 提交于
      Summary: OptionsParserTest.BlockBasedTableOptionsAllFieldsSettable is failiong under CLANG. Disable the test to unblock the build.
      
      Test Plan: Run it both of CLANG and GCC
      
      Reviewers: kradhakrishnan, rven, andrewkr, anthony, yhchiang, IslamAbdelRahman
      
      Reviewed By: IslamAbdelRahman
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D53157
      2c2b7221
    • K
      Added sandcastle pre-commit · a300d992
      krad 提交于
      Test Plan:
      Lately we have been breaking our builds too often. This changes adds
      the capability to schedule tests in sandcastle for every diff created. This will
      help us increase the pre-commit testing bar.
      
      This patch will dispatch signals to sandcastle to start running tests on the
      diff. The test failures are reported to the user via email.
      
      The user can also manually check the progress of test in sandcastle via the URL
      provided.
      
      Reviewers: sdong, rven
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D53001
      a300d992
  5. 21 1月, 2016 2 次提交
    • S
      Add test that verifies all options in BlockBasedTableOptions is settable... · 202be23e
      sdong 提交于
      Add test that verifies all options in BlockBasedTableOptions is settable through GetBlockBasedTableOptionsFromString()
      
      Summary: Add a test OptionsParserTest.BlockBasedTableOptionsAdded, which will fail if a new option is added to BlockBasedTableOptions but is not settable through GetBlockBasedTableOptionsFromString().
      
      Test Plan: Run the test. Also manually remove and add options and make sure it fails.
      
      Reviewers: anthony, IslamAbdelRahman, kradhakrishnan, rven, yhchiang, andrewkr
      
      Reviewed By: andrewkr
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D52953
      202be23e
    • A
      Split db_test.cc (part 1: properties) · eceb5cb1
      Andrew Kryczka 提交于
      Summary:
      Moved all the tests that verify property correctness into a separate
      file. The goal is to reduce compile time and complexity of db_test. I didn't
      add parallelism for db_properties_test, even though these tests were
      parallelized in db_test, since the file is small enough that it won't matter.
      
      Some of these moves may be controversial since it's hard to say whether the
      test is "verifying property correctness," or "using properties to verify
      rocksdb's correctness." I'm interested in any opinions.
      
      Test Plan: ran db_properties_test, also waiting on "make commit-prereq -j32"
      
      Reviewers: yhchiang, IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D52995
      eceb5cb1
  6. 20 1月, 2016 8 次提交
  7. 19 1月, 2016 4 次提交
    • B
      Simple changes to support builds for ppc64[le] consistent with X86 · f423f05d
      bcbrock 提交于
      These simple changes are required to allow builds on ppc64[le] systems
      consistent with X86. The Makefile now recognizes both ppc64 and ppc64le, and
      in the absence of PORTABLE=1, the code will be built analogously to the X86
      -march=native.
      
      Note that although GCC supports -mcpu=native -mtune=native on POWER, it
      doesn't work correctly on all systems. This is why we need to get the actual
      machine model from the AUX vector.
      f423f05d
    • D
      Make alloca.h optional · 3f12e16f
      David Bernard 提交于
      3f12e16f
    • D
      Change notification email for travis · eaa56375
      David Bernard 提交于
      eaa56375
    • D
      Changes for build on solaris · d78c6b28
      David Bernard 提交于
      Makefile adjust paths for solaris build
      Makefile enable _GLIBCXX_USE_C99 so that std::to_string is available
      db_compaction_test.cc Initialise a variable to avoid a compilation error
      db_impl.cc Include <alloca.h>
      db_test.cc Include <alloca.h>
      Environment.java recognise solaris envrionment
      options_bulder.cc Make log unambiguous
      geodb_impl.cc Make log and floor unambiguous
      d78c6b28