pingcap / pingcap/tidb-operator

A better way to define DM volumes

Open
#7,078 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

v2
Dominant language
Go
Stars
1.3k
Forks
540
Avg merge
3d 2h
Merged PRs (30d)
18

Description

coreutil.Volumes only exposes Spec.Volumes, so this omits the special PVC-backed volumes used by DM. DM.Spec.DataVolume and DMWorker.Spec.RelayVolume are created separately in their PVCNewer implementations, but the generated Volumes() accessors return only Spec.Volumes. A normal DM with only its required data volume therefore reports False/NoVolumes even when that PVC exceeds the reduced request, and the scale-in preference can never select it; relay volumes have the same problem. Please evaluate each component's complete set of managed PVC-backed volumes and add DM data-volume / DMWorker relay-volume coverage.

We should use volumes to define relay/data volumes of DM

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 tracing coreutil.Volumes and the PVCNewer implementations for DM.Spec.DataVolume and DMWorker.Spec.RelayVolume, then inspect the generated Volumes() accessors. Confirm the complete managed PVC-backed volume sets are evaluated, including DM data volumes and DMWorker relay volumes, and verify that volume presence and scale-in selection work when these PVCs exceed the reduced request.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.