1. 19 Aug, 2021 1 commit
  2. 21 Jul, 2021 1 commit
    • yiwu-arbug's avatar
      Link pthread in sanitizer builds (#219) · ecb5cba0
      yiwu-arbug authored
      In our CI environment we need to link pthread to enable sanitizer builds (ASAN, TSAN, UBSAN). Update cmake script for it.
      
      It still needs #218 to get the CI pass.
      
      Also disabling NoSpaceLeft test just like in Travis.
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      ecb5cba0
  3. 20 Jul, 2021 1 commit
    • yiwu-arbug's avatar
      Fix rocksdb logging macro (#218) · f9fc964f
      yiwu-arbug authored
      This change is to fix ASAN test failure in CI.
      
      The rocksdb logging.h file provides the ROCKS_LOG_XXX logging macro, and it contain a logic to shorten the source file being print. It use the length of its file path (e.g. "/path/to/rocksdb/logging/logging.h")  to truncate other source file path. Since Titan source could be in different directory, Titan source file path could be truncated incorrectly, or even cause out-of-range access to the string buffer. Copying the file into titan repo and make a Titan version of the macros to fix the problem.
      
      Also doing clang format.
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
      f9fc964f
  4. 31 May, 2021 1 commit
  5. 20 May, 2021 1 commit
  6. 28 Apr, 2021 2 commits
  7. 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
  8. 26 Jan, 2021 1 commit
  9. 09 Jan, 2021 1 commit
  10. 14 Dec, 2020 1 commit
  11. 11 Dec, 2020 1 commit
  12. 05 Nov, 2020 1 commit
  13. 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
  14. 21 Oct, 2020 1 commit
  15. 18 Sep, 2020 1 commit
  16. 17 Jul, 2020 1 commit
  17. 09 Jun, 2020 1 commit
  18. 04 Jun, 2020 2 commits
  19. 01 Jun, 2020 1 commit
  20. 29 May, 2020 1 commit
  21. 07 May, 2020 1 commit
  22. 06 May, 2020 1 commit
  23. 29 Apr, 2020 1 commit
  24. 02 Apr, 2020 1 commit
  25. 01 Apr, 2020 1 commit
  26. 27 Mar, 2020 2 commits
  27. 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
  28. 04 Mar, 2020 1 commit
  29. 15 Feb, 2020 1 commit
  30. 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
  31. 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
  32. 30 Jan, 2020 1 commit
  33. 31 Dec, 2019 1 commit
  34. 06 Dec, 2019 1 commit
  35. 03 Dec, 2019 1 commit
  36. 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