cockroachdb / cockroachdb/cockroach
roachtest: user-defined resource groups end-to-end
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
Roachtest that exercises the full path: `CREATE RESOURCE GROUP` via DDL → `SET experimental_resource_group` in a workload's `--conn-init` → observe RG-based CPU scheduling under contention on the resourcemanager Grafana dashboard. Two concurrent kv workloads shaped as an OLTP service (latency-sensitive, low concurrency) and a bulk throughput job (noisy neighbor, high concurrency), targeting separate databases so the story reads as two applications sharing a cluster. Before/after arc: RM mode off → noisy neighbor degrades the critical group's p99 → RM mode on → critical p99 recovers, noisy is clamped but not starved. Grafana annotations at each phase boundary. Registered as `ManualOnly` initially, promotable once stable. cockroachlabs/cockroach#1064 is adjacent — it tells the same story on the two built-in groups today; this issue pivots it onto DDL-created groups once the rangefeed/cache/AC-granter items above land, and doubles as demo material for upcoming customer conversations.
Epic CRDB-66387
Jira issue: CRDB-66386
Contributor guide
Research direction
Start with the roachtest entry point and the resourcemanager Grafana dashboard flow described here, including CREATE RESOURCE GROUP and workload --conn-init settings. Verify the rangefeed, cache, and AC-granter prerequisites before implementing the two concurrent workloads. Done means the ManualOnly test shows the off/on p99 recovery and throttling phases with Grafana annotations, without starving the noisy workload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, grafana, sql
- Domain
- databases, observability, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100