1. 30 Jan, 2020 1 commit
  2. 31 Dec, 2019 1 commit
  3. 06 Dec, 2019 1 commit
  4. 03 Dec, 2019 1 commit
  5. 26 Nov, 2019 1 commit
    • Wu Jiayu's avatar
      Use prefetcher for level merge (#116) · 812e1977
      Wu Jiayu authored
      since level merge will read blob files sequentially, we should use prefetcher to accelerate merging.
      
      experiment result:
      
      Load 300GB (average value size 1KB) on Huawei NVME device, time to read blob file reduced about 50%.
      Signed-off-by: 's avatarwujy-cs <wujy.cs@gmail.com>
      812e1977
  6. 25 Nov, 2019 1 commit
    • yiwu-arbug's avatar
      TitanDBImpl::Open only open base DB once (#114) · 0fc61eec
      yiwu-arbug authored
      Summary:
      Refactor `TitanDBImpl::Open` to open base DB only once. Previously we open the DB twice - the first time only to obtain `cf_id` for each CF, and then initialize internals before open base DB for real. The patch change to open base DB only once, initialize internals after that. Before `TitanDBImpl` is initialized, `BaseDbListener` will be no-op and `TableBuilder` will not output blob files.
      
      Test Plan:
      Added new tests
      0fc61eec
  7. 21 Nov, 2019 1 commit
    • Phoebe Bell's avatar
      Update blob file format for ZSTD dictionary compression (#109) · e5731f44
      Phoebe Bell authored
      Adding a new version to blob file format. v2 blob files come with 4 more bytes in the header to hold future flags. In particular if `kHasUncompressionDictionary` is set, the whole file is compressed using dictionary compression and the per-blob compression type should be ignored.
      
      Also update `BlobEncoder` and `BlobDecoder` to allow passing in a dictionary and use it to  compress/decompress. Add unit test for it.
      e5731f44
  8. 19 Nov, 2019 1 commit
  9. 18 Nov, 2019 1 commit
  10. 15 Nov, 2019 1 commit
  11. 12 Nov, 2019 1 commit
  12. 06 Nov, 2019 1 commit
  13. 04 Nov, 2019 2 commits
  14. 02 Nov, 2019 1 commit
    • Wu Jiayu's avatar
      Implement basic range merge to maintain last level sorted run number (#92) · e8bc9254
      Wu Jiayu authored
      With level merge enabled, we expect there are no more than 10 sorted runs of blob files in both of last two levels. But 
      
      - Since we force using level_compaction_dynamic_level_bytes, last level blob files won't be merged again, sorted run number in last level will increase infinitely.
      - Some hot range may contain more sorted runs.
      
      This patch implement range merge:
      
      - Check sorted run number of compaction range after last level compaction
      - Mark blob files to merge in next compaction if sorted run number > max_sorted_runs
      e8bc9254
  15. 31 Oct, 2019 3 commits
  16. 25 Oct, 2019 1 commit
    • yiwu-arbug's avatar
      titandb_stress print git hash (#99) · 69d79667
      yiwu-arbug authored
      Summary:
      Make titandb_stress print rocksdb and titan git hash at the beginning. This is useful in schordinger test to verify which version is being tested.
      
      Test Plan:
      run titandb_stress, which prints the following at the beginning:
      ```
      2019/10/25-05:59:22  Initializing db_stress
      RocksDB version           : 6.4
      RocksDB hash              : rocksdb_build_git_sha:@9ab5a5f9e70d2ea5fc9bd22a455d52a5d082fd57@
      Titan hash                : titan_build_git_sha:@b497731e@
      ```
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      69d79667
  17. 17 Oct, 2019 1 commit
  18. 16 Oct, 2019 2 commits
  19. 08 Oct, 2019 1 commit
  20. 27 Sep, 2019 1 commit
    • yiwu-arbug's avatar
      Adjust daily benchmark script (#84) · 280b59d6
      yiwu-arbug authored
      Summary:
      Adjusting daily benchmark script:
      * Default params are more close to what we use for TiKV
      * change bulkload to receive `NUM_THREADS` param, also bulkload disable titan GC.
      
      Test Plan:
      local test.
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      280b59d6
  21. 26 Sep, 2019 1 commit
  22. 24 Sep, 2019 3 commits
  23. 22 Sep, 2019 1 commit
  24. 20 Sep, 2019 1 commit
  25. 18 Sep, 2019 3 commits
    • yiwu-arbug's avatar
      Fix new CF missing BlobFileSizeCollector (#78) · fc4106d4
      yiwu-arbug authored
      Summary:
      On `CreateColumnFamilies` we should set `BlobFileSizeCollectorFactory`. Fixing it.
      
      Test Plan:
      added test
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      fc4106d4
    • Connor's avatar
      Add more metrics (#79) · 10710bb1
      Connor authored
      * add more metrics
      Signed-off-by: 's avatarConnor1996 <zbk602423539@gmail.com>
      10710bb1
    • yiwu-arbug's avatar
      Prevent CF being dropped while GC is running (#72) · 8768067e
      yiwu-arbug authored
      Summary:
      If `DropColumnFamilies` is called while GC is running, GC can fail because the CF is gone. The GC job will then set background error which halts Titan as a whole. To prevent it, we let `DropColumnFamilies` wait till there no running GC before proceed, and let GC job wait for pending drop CF requests before start running. Fixes #71.
      
      Also fix `DropColumnFamilies` mark obsolete file as obsolete again, which will cause assert failure.
      
      Test Plan:
      Run titandb_stress and the above issues don't reproduce.
      8768067e
  26. 16 Sep, 2019 3 commits
  27. 13 Sep, 2019 1 commit
  28. 12 Sep, 2019 1 commit
  29. 11 Sep, 2019 1 commit
  30. 04 Sep, 2019 1 commit
    • yiwu-arbug's avatar
      Add internal operation stats and dump to info log periodically (#62) · 468ddc97
      yiwu-arbug authored
      Summary:
      Add stats for read/write bytes and input/output file of internal operations and break down by operation type (being flush, compaction or GC). Later after we introduce vtable we can further breakdown compaction into top levels compaction, L_n-1 compaction and Ln compaction.
      
      Test Plan:
      Run db_bench and get sample output:
      ```
      2019/08/29-23:49:29.593805 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593742) Titan internal stats for column family [default]:
      2019/08/29-23:49:29.593813 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593753) OP          COUNT  READ(GB)  WRITE(GB) IO_READ(GB) IO_WRITE(GB)  FILE_IN FILE_OUT
      2019/08/29-23:49:29.593821 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593760) ---------------------------------------------------------------------------------
      2019/08/29-23:49:29.593830 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593768) Flush          3        0.0       34.7         0.0         18.0        0        3
      2019/08/29-23:49:29.593839 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593784) Compaction     1        0.0        0.0         0.0          0.0        0        0
      2019/08/29-23:49:29.593848 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593793) GC             1      360.9        1.3       354.3          2.8        8        0
      ```
      468ddc97