1. 29 May, 2020 1 commit
  2. 07 May, 2020 1 commit
  3. 06 May, 2020 1 commit
  4. 29 Apr, 2020 1 commit
  5. 02 Apr, 2020 1 commit
  6. 01 Apr, 2020 1 commit
  7. 27 Mar, 2020 2 commits
  8. 20 Mar, 2020 1 commit
    • Wallace's avatar
      fix warn (#147) · f6dc570f
      Wallace authored
      Signed-off-by: 's avatarLittle-Wallace <bupt2013211450@gmail.com>
      
      Fix warn when titan is compiled with gcc 5.5.0
      ```
      /home/pingcap/.cargo/git/checkouts/rust-rocksdb-e0eeb217423298aa/0e1a085/librocksdb_sys/libtitan_sys/titan/src/db_impl_gc.cc: In member function ‘rocksdb::Status rocksdb::titandb::TitanDBImpl::BackgroundGC(rocksdb::LogBuffer*, uint32_t)’:
      /home/pingcap/.cargo/git/checkouts/rust-rocksdb-e0eeb217423298aa/0e1a085/librocksdb_sys/libtitan_sys/titan/src/db_impl_gc.cc:205:55: error: ‘gc_merge_rewrite’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
                                 &shuting_down_, stats_.get());
      ```
      f6dc570f
  9. 04 Mar, 2020 1 commit
  10. 15 Feb, 2020 1 commit
  11. 04 Feb, 2020 2 commits
    • yiwu-arbug's avatar
      Reconstruct GC stats on reopen (#130) · ffaa9d1a
      yiwu-arbug authored
      Summary:
      * On DB reopen, iterate all SST file's properties and sum up live data size of all blob files to use as GC stats.
      * Remove previous logic to set GC mark on blob files on reopen.
      * Refactor `OnFlushCompleted` and `OnCompactionCompleted`. Check file state is `kPendingLSM` before transit file state. 
      * Refactor `BlobFileMeta`.
      
      Test Plan:
      Updated unit tests
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      ffaa9d1a
    • yiwu-arbug's avatar
      Sync titan directory when adding blob files (#136) · 3b267dc5
      yiwu-arbug authored
      Summary:
      When adding new blob file, titan directory need to be fsync, otherwise files can be lost after power outage.
      
      Test Plan:
      run `strace -yfe fsync ./titan_titan_db_test --gtest_filter=*.Snapshot` and see titan directory being fsync-ed in the output.
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      3b267dc5
  12. 31 Jan, 2020 1 commit
    • kennytm's avatar
      Fix build on Windows (#138) · 01f293da
      kennytm authored
      1. use `#include "port/port.h"` instead of `#include "port/port_posix.h"`
      2. added an "install" target for CMake to workaround alexcrichton/cmake-rs#18
      3. MSVC reported 2 warnings in Titan (and tons of warnings in RocksDB), and these are fixed.
      01f293da
  13. 30 Jan, 2020 1 commit
  14. 31 Dec, 2019 1 commit
  15. 06 Dec, 2019 1 commit
  16. 03 Dec, 2019 1 commit
  17. 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
  18. 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
  19. 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
  20. 19 Nov, 2019 1 commit
  21. 18 Nov, 2019 1 commit
  22. 15 Nov, 2019 1 commit
  23. 12 Nov, 2019 1 commit
  24. 06 Nov, 2019 1 commit
  25. 04 Nov, 2019 2 commits
  26. 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
  27. 31 Oct, 2019 3 commits
  28. 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
  29. 17 Oct, 2019 1 commit
  30. 16 Oct, 2019 2 commits
  31. 08 Oct, 2019 1 commit
  32. 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
  33. 26 Sep, 2019 1 commit
  34. 24 Sep, 2019 1 commit
    • Wu Jiayu's avatar
      Live data based GC for level merge (#77) · 8c84a1a4
      Wu Jiayu authored
      This patch implemented live data based GC for level merge.
      
      Delete blob files which have (discardable size == file_size - file header - file footer) in OnCompactionCompleted()
      Mark last two level blob files to merge in next compaction if discardable size reached GC threshold
      Using live data based GC instead of regular GC as long as level merge is enabled.
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      8c84a1a4