1. 27 2月, 2014 2 次提交
    • I
      [CF] Handle failure in WriteBatch::Handler · 8b7ab995
      Igor Canadi 提交于
      Summary:
      * Add ColumnFamilyHandle::GetID() function. Client needs to know column family's ID to be able to construct WriteBatch
      * Handle WriteBatch::Handler failure gracefully. Since WriteBatch is not a very smart function (it takes raw CF id), client can add data to WriteBatch for column family that doesn't exist. In that case, we need to gracefully return failure status from DB::Write(). To do that, I added a return Status to WriteBatch functions PutCF, DeleteCF and MergeCF.
      
      Test Plan: Added test to column_family_test
      
      Reviewers: dhruba, haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16323
      8b7ab995
    • I
      Merge branch 'master' into columnfamilies · 944ff673
      Igor Canadi 提交于
      944ff673
  2. 26 2月, 2014 10 次提交
  3. 25 2月, 2014 6 次提交
  4. 24 2月, 2014 2 次提交
  5. 21 2月, 2014 2 次提交
  6. 20 2月, 2014 4 次提交
  7. 19 2月, 2014 2 次提交
  8. 15 2月, 2014 6 次提交
    • K
      Fix the lint issues in dev box · 78ce24a7
      Kai Liu 提交于
      Summary:
      Owing to the difference between platforms (my macbook and dev server), arc lint throws fatal error in dev box.
      To fix the problem (quickly), I removed all incompatible function calls.
      
      Test Plan: ran `arc lint` in dev box and passed.
      
      Reviewers: igor, yhchiang
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16173
      78ce24a7
    • I
      some improvements to CompressedCache test · 6aef6612
      Igor Canadi 提交于
      6aef6612
    • I
      Fix table properties · 422bb09c
      Igor Canadi 提交于
      Summary: Adapt table properties to column family world
      
      Test Plan: make check
      
      Reviewers: kailiu
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16161
      422bb09c
    • I
      Merge branch 'master' into columnfamilies · 76c04818
      Igor Canadi 提交于
      Conflicts:
      	db/db_impl.cc
      	db/db_test.cc
      	include/rocksdb/db.h
      76c04818
    • I
      fix u/s comparison #83 · be7e273d
      Igor Canadi 提交于
      be7e273d
    • I
      [CF] DB test to run on non-default column family · c67d48c8
      Igor Canadi 提交于
      Summary:
      This is a huge diff and it was hectic, but the idea is actually quite simple. Every operation (Put, Get, etc.) done on default column family in DBTest is now forwarded to non-default ("pikachu"). The good news is that we had zero test failures! Column families look stable so far.
      
      One interesting test that I adapted for column families is MultiThreadedTest. I replaced every Put() with a WriteBatch writing to all column families concurrently. Every Put in the write batch contains unique_id. Instead of Get() I do a multiget across all column families with the same key. If atomicity holds, I expect to see the same unique_id in all column families.
      
      Test Plan: This is a test!
      
      Reviewers: dhruba, haobo, kailiu, sdong
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16149
      c67d48c8
  9. 14 2月, 2014 5 次提交
    • K
      Improve/fix bugs for the cpp linter · 46812f68
      kailiu 提交于
      Summary:
      Previous our new `arc lint` has two annoying bugs:
      
      * Keeping sending false alarm that we'd put c++ system files first -- even though we've already done that.
        - this problem is caused by our linter, which doesn't give the underlying cpplint.py right file path (it gives "-" as file name), making cpplint.py work incorrectly.
      * Only works in rocksdb's root dir; Otherwise it'll throw exception saying "cannot find cpplint.py".
      
      I copied open source ArcanistCpplintLinter and modifiy it for our use.
      
      Test Plan: Ran arc lint and made sure the above-mentioned problem won't occur.
      
      Reviewers: haobo, sdong, igor, ljin, yhchiang, dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16137
      46812f68
    • K
      Expose the table properties to application · 63690625
      kailiu 提交于
      Summary: Provide a public API for users to access the table properties for each SSTable.
      
      Test Plan: Added a unit tests to test the function correctness under differnet conditions.
      
      Reviewers: haobo, dhruba, sdong
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16083
      63690625
    • K
      Followup code refactor on plain table · b2e7ee8b
      Kai Liu 提交于
      Summary:
      Fixed most comments in https://reviews.facebook.net/D15429.
      Still have some remaining comments left.
      
      Test Plan: make all check
      
      Reviewers: sdong, haobo
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15885
      b2e7ee8b
    • K
      Put *.out to the ignore list (for MacOS) · 85c0545f
      Kai Liu 提交于
      85c0545f
    • K
      Benchmark table reader wiht nanoseconds · 59cffe02
      Kai Liu 提交于
      Summary: nanosecnods gave us better view of the performance, especially when some operations are fast so that micro seconds may only reveal less informative results.
      
      Test Plan:
      sample output:
      
          ./table_reader_bench --plain_table --time_unit=nanosecond
          =======================================================================================================
          InMemoryTableSimpleBenchmark:           PlainTable   num_key1:   4096   num_key2:   512   non_empty
          =======================================================================================================
          Histogram (unit: nanosecond):
          Count: 6291456  Average: 475.3867  StdDev: 556.05
          Min: 135.0000  Median: 400.1817  Max: 33370.0000
          Percentiles: P50: 400.18 P75: 530.02 P99: 887.73 P99.9: 8843.26 P99.99: 9941.21
          ------------------------------------------------------
          [     120,     140 )        2   0.000%   0.000%
          [     140,     160 )      452   0.007%   0.007%
          [     160,     180 )    13683   0.217%   0.225%
          [     180,     200 )    54353   0.864%   1.089%
          [     200,     250 )   101004   1.605%   2.694%
          [     250,     300 )   729791  11.600%  14.294% ##
          [     300,     350 )   616070   9.792%  24.086% ##
          [     350,     400 )  1628021  25.877%  49.963% #####
          [     400,     450 )   647220  10.287%  60.250% ##
          [     450,     500 )   577206   9.174%  69.424% ##
          [     500,     600 )  1168585  18.574%  87.999% ####
          [     600,     700 )   506875   8.057%  96.055% ##
          [     700,     800 )   147878   2.350%  98.406%
          [     800,     900 )    42633   0.678%  99.083%
          [     900,    1000 )    16304   0.259%  99.342%
          [    1000,    1200 )     7811   0.124%  99.466%
          [    1200,    1400 )     1453   0.023%  99.490%
          [    1400,    1600 )      307   0.005%  99.494%
          [    1600,    1800 )       81   0.001%  99.496%
          [    1800,    2000 )       18   0.000%  99.496%
          [    2000,    2500 )        8   0.000%  99.496%
          [    2500,    3000 )        6   0.000%  99.496%
          [    3500,    4000 )        3   0.000%  99.496%
          [    4000,    4500 )      116   0.002%  99.498%
          [    4500,    5000 )     1144   0.018%  99.516%
          [    5000,    6000 )     1087   0.017%  99.534%
          [    6000,    7000 )     2403   0.038%  99.572%
          [    7000,    8000 )     9840   0.156%  99.728%
          [    8000,    9000 )    12820   0.204%  99.932%
          [    9000,   10000 )     3881   0.062%  99.994%
          [   10000,   12000 )      135   0.002%  99.996%
          [   12000,   14000 )      159   0.003%  99.998%
          [   14000,   16000 )       58   0.001%  99.999%
          [   16000,   18000 )       30   0.000% 100.000%
          [   18000,   20000 )       14   0.000% 100.000%
          [   20000,   25000 )        2   0.000% 100.000%
          [   25000,   30000 )        2   0.000% 100.000%
          [   30000,   35000 )        1   0.000% 100.000%
      
      Reviewers: haobo, dhruba, sdong
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16113
      59cffe02
  10. 13 2月, 2014 1 次提交