pingcap / pingcap/tiflash

Separate DeltaMergeStore into multiple files

Open
#5,831 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue type/enhancement
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:

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.