1. 28 Apr, 2021 1 commit
    • Xinye Tao's avatar
      Optimize Travis CI (#211) · 10a18490
      Xinye Tao authored
      In our CI mac build, homebrew update often timeout. Mitigate this issue by upgrading Xcode image (spec was ineffective before).
      Also optimize build time by adding format stage and fail_fast flag so that failed test can trigger immediate termination.
      Signed-off-by: 's avatartabokie <xy.tao@outlook.com>
      10a18490
  2. 08 Mar, 2021 1 commit
    • yiwu-arbug's avatar
      Add manifest_dump tool (#204) · 46809e59
      yiwu-arbug authored
      Adding a tool to dump Titan manifest file, for easy debugging.
      
      Sample output:
      ```
      next_file_number: 93015
      column family: 1
      
      column family: 2
      
      column family: 3
      
      column family: 0
      file 92978, size 44644407, level 0
      file 92997, size 44513780, level 0
      file 93001, size 44639151, level 0
      file 93005, size 44420372, level 0
      file 93009, size 44595346, level 0
      file 93010, size 23167116, level 0
      file 93011, size 38966307, level 0
      file 93012, size 21745288, level 0
      file 93014, size 44181211, level 0
      ```
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      46809e59
  3. 26 Jan, 2021 1 commit
  4. 09 Jan, 2021 1 commit
  5. 14 Dec, 2020 1 commit
  6. 11 Dec, 2020 1 commit
  7. 05 Nov, 2020 1 commit
  8. 27 Oct, 2020 1 commit
    • Yongsheng Xu's avatar
      Add dictionary compression support for blob file (#189) · 54a20a56
      Yongsheng Xu authored
      Fixes #118
      
      Briefly I've done following things:
      - add compression options in TitanCFOptions
      - set flags in header when there is compression dictionary
      - add some members(states, sample data, etc.) in BlobFileBuilder for dictionary compression logic
      - write the dictionary in meta blocks, when dictionary compression is enabled
      - refactor BlobEncoder to support dictionary update
      
      currently for decoding
      - update BlobFileReader and BlobFileIterator to return Status::NotSupported if a blob file come with dictionary compression.
      - add a test case for BlobFileReader
      
      Issue Number: https://github.com/tikv/tikv/issues/8635Signed-off-by: 's avatarhexyoungs <chuxdesign@hotmail.com>
      54a20a56
  9. 21 Oct, 2020 1 commit
  10. 18 Sep, 2020 1 commit
  11. 17 Jul, 2020 1 commit
  12. 09 Jun, 2020 1 commit
  13. 04 Jun, 2020 2 commits
  14. 01 Jun, 2020 1 commit
  15. 29 May, 2020 1 commit
  16. 07 May, 2020 1 commit
  17. 06 May, 2020 1 commit
  18. 29 Apr, 2020 1 commit
  19. 02 Apr, 2020 1 commit
  20. 01 Apr, 2020 1 commit
  21. 27 Mar, 2020 2 commits
  22. 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
  23. 04 Mar, 2020 1 commit
  24. 15 Feb, 2020 1 commit
  25. 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
  26. 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
  27. 30 Jan, 2020 1 commit
  28. 31 Dec, 2019 1 commit
  29. 06 Dec, 2019 1 commit
  30. 03 Dec, 2019 1 commit
  31. 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
  32. 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
  33. 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
  34. 19 Nov, 2019 1 commit
  35. 18 Nov, 2019 1 commit
  36. 15 Nov, 2019 1 commit
  37. 12 Nov, 2019 1 commit