pingcap / pingcap/tidb-operator
A better way to define DM volumes
Nobody has claimed this yet.
- 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
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 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