1. 25 2月, 2014 3 次提交
  2. 24 2月, 2014 2 次提交
  3. 21 2月, 2014 2 次提交
  4. 20 2月, 2014 4 次提交
  5. 19 2月, 2014 1 次提交
    • K
      Improve the check for header guard · 83e7842f
      kailiu 提交于
      Summary:
      cpplint.py only recognize `#ifdef HEADER_GUARD` as header guard.
      This patch enables the check for `#pragma once`.
      
      Test Plan: New arc lint exclude the false alarm for `#pragma once`.
      
      Reviewers: dhruba, sdong, igor, haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16227
      83e7842f
  6. 15 2月, 2014 2 次提交
  7. 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
  8. 13 2月, 2014 7 次提交
  9. 12 2月, 2014 3 次提交
    • K
      Fix problem 3 for issue #80 · 265150cb
      kailiu 提交于
      265150cb
    • K
      Fix a member variables initialization order issue · aa734ce9
      kailiu 提交于
      Summary:
      In MacOS, I got issue with `Footer`'s default constructor, which initialized the magic number with some random number instead of 0.
      With investigation, I found we forgot to make the kInvalidTableMagicNumber to be static. As a result, kInvalidTableMagicNumber was assgined to `table_magic_number_` before it is initialized (which will be populated with random number).
      
      Test Plan: passed current unit tests; also passed the unit tests for the incoming diff which used the default footer.
      
      Reviewers: yhchiang
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16077
      aa734ce9
    • S
      Reduce malloc of iterators in Get() code paths · 33042669
      Siying Dong 提交于
      Summary:
      This patch optimized Get() code paths by avoiding malloc of iterators. Iterator creation is moved to mem table rep implementations, where a callback is called when any key is found. This is the same practice as what we do in (SST) table readers.
      
      db_bench result for readrandom following a writeseq, with no compression, single thread and tmpfs, we see throughput improved to 144958 from 139027, about 3%.
      
      Test Plan: make all check
      
      Reviewers: dhruba, haobo, igor
      
      Reviewed By: haobo
      
      CC: leveldb, yhchiang
      
      Differential Revision: https://reviews.facebook.net/D14685
      33042669
  10. 11 2月, 2014 5 次提交
  11. 09 2月, 2014 1 次提交
  12. 08 2月, 2014 5 次提交
    • K
      Fix the valgrind error in table test. · 9a270f3f
      Kai Liu 提交于
      9a270f3f
    • K
      Fix incompatible compilation in Linux server · b8ea5e36
      Kai Liu 提交于
      b8ea5e36
    • K
      Make table properties shareable · 161ab42a
      kailiu 提交于
      Summary:
      We are going to expose properties of all tables to end users through "some" db interface.
      However, current design doesn't naturally fit for this need, which is because:
      
      1. If a table presents in table cache, we cannot simply return the reference to its table properties, because the table may be destroy after compaction (and we don't want to hold the ref of the version).
      2. Copy table properties is OK, but it's slow.
      
      Thus in this diff, I change the table reader's interface to return a shared pointer (for const table properties), instead a const refernce.
      
      Test Plan: `make check` passed
      
      Reviewers: haobo, sdong, dhruba
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15999
      161ab42a
    • D
      Fix compilation error with gcc 4.7 · 0982c380
      Dhruba Borthakur 提交于
      Summary:
      Fix compilation error with gcc 4.7
      
      Test Plan:
      make clean
      make
      
      Reviewers:
      
      CC:
      
      Task ID: #
      
      Blame Rev:
      0982c380
    • I
      Merge pull request #77 from alberts/docfixes · 4159a284
      Igor Canadi 提交于
      doc: table_stats_collectors -> table_properties_collectors.
      4159a284