Separate DeltaMergeStore into multiple files
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1k
- Forks
- 423
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 24
Description
Enhancement
DeltaMergeStore provides most of public interfaces of the storage engine. Currently DeltaMergeStore.cpp/h contains too many things together, which is hard for new developers to understand who are related together.
We can separate it into multiples via the following steps:
-
1. Move implementations in DeltaMergeStore.cpp into multiple files:
- DeltaMergeStore_InternalBg.cpp https://github.com/pingcap/tiflash/pull/5858
- DeltaMergeStore_InternalSegment.cpp https://github.com/pingcap/tiflash/pull/5833
- DeltaMergeStore_Ingest.cpp https://github.com/pingcap/tiflash/pull/5832
-
2. Isolate private functions from
DeltaMergeStoreand place them in separated files, close to their impl places.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with DeltaMergeStore.cpp and DeltaMergeStore.h, then review the completed separations in DeltaMergeStore_InternalBg.cpp, DeltaMergeStore_InternalSegment.cpp, and DeltaMergeStore_Ingest.cpp. Identify the remaining private functions in DeltaMergeStore and determine which separated files are appropriate for their implementations. Done means the private functions are isolated into files close to their implementation areas without leaving the store's behavior changed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- database
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100