pingcap / pingcap/tiup

Add check for inode numbers in `tiup cluster check`

Open
#2,388 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type/feature-request
Dominant language
Go
Stars
466
Forks
338
Avg merge
3d 7h
Merged PRs (30d)
8

Description

Feature Request

Is your feature request related to a problem? Please describe:

Before v7.4, TiFlash may happens to inode exhausting and cause panic. Especially when users deploy TiFlash on a file system with a particularly small number of inode nodes.

https://github.com/pingcap/tiflash/issues/7595

Describe the feature you'd like:

Normally, the bytes-per-inode is 1024KiB, so we can get the expected inode number according to the total disk size. TiUP can check if the actual inode number is in the same order of magnitude as expected. If the number of inodes is too small, give a warning to the user.

Why the featue is needed:

Before v7.4, TiFlash could suffer from inode exhaust when

  • Users create ten thousands of empty partition tables
  • Users load lots of data of a wide table with many columns to TiFlash

Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

Contributor guide

Open the contributing guide

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 locating the tiup cluster check command and its existing disk checks. Determine how to obtain total disk size and actual inode counts, then compare them using the issue's 1024KiB-per-inode expectation. Done means the command warns when the inode count is too small, with coverage for the relevant check behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.