pingcap / pingcap/tiflash

A tool for debugging/tuning the configuration

Open
#1,024 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type/enhancement
Dominant language
C++
Stars
1k
Forks
423
Avg merge
1d 15h
Merged PRs (30d)
24

Description

We can provide a tool like pd-ctl for these purposes:

  • Useful to tune the configuration of TiFlash
    Some configuration can be modified online, such as log level. But now we have to restart tiflash process after tiup cluster edit-config. Some users don't want to restart their process.
    Or we can support this feature in TiFlash to do this: Modify Configuration Online

  • Useful to parse the DecodedTiKVKey
    Now if we happen to error like this:

(1105, '[FLASH:Coprocessor:BadRequest] Income key range [[7480000000000000385F72FFFFFFFFFFFFFFFF],[7480000000000000385F72FFFFFFFFFFFFFFFF00]) is illegal for region: 72')

To get the table_id and handle from these keys, we have to

# Go to cluster_manage/tikv_util, run a python with
>> import common
>> e = '7480000000000000385F72FFFFFFFFFFFFFFFF'
>> base64.b64encode(common.decode_pd_key(e, len(e)))
b'dIAAAAAAAAA4X3L//////////w=='
# Then parse it through tidb-ctl
>> tiup ctl tidb decoder 'dIAAAAAAAAA4X3L//////////wA='
format: table_row
table_id: 56
row_id: 9223372036854775807

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 by reviewing cluster_manage/tikv_util and the existing tiup ctl tidb decoder flow, then compare the proposed pd-ctl-like configuration tool with the online configuration approach linked in the issue. The scope needs to be decided between online TiFlash configuration, DecodedTiKVKey parsing, or both; done would mean a usable tool that supports the selected operations without requiring the current manual steps.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
cli, databases, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.