switch to specific thread
Plan
60min: clickhouse
Notes
今天通过调试把写入流程过了一遍,有几个问题留下来了:
- 可以看到 checksum 和一些元数据的写入点,但是究竟是什么持久化数据和 index 的呢?
- 经常看到的 mark 是什么呢?(dbms/src/Storages/MergeTree/MergeTreeDataPartWriterWide.cpp)
gdb 新命令 get:
# switch to specific thread
thread $number
# print expression value
p $expr
入口的断点可以打在:
breakpoint set --file programs/server/TCPHandler.cpp --line 478
明天可以从这个断点开始看:
breakpoint set --file src/Storages/MergeTree/MergeTreeDataPartWriterWide.cpp --line 90
此外明天可以关注一下 flush 和 merge 的流程,需要多看看文档了。
More
template <typename T>
class ColumnVector final : public COWHelper<ColumnVectorHelper, ColumnVector<T>>