Skip to content

Commit ee710cf

Browse files
committed
roachtest: skip many perturbation tests
These tests are useful for a few reasons: 1. They are very sensitive to latency outliers (something we care about!). 2. They test our ability to post-mortem debug non-fatal issues such as latency increases. 3. They help ensure that the impact of the given perturbations don't get worse. Unfortunately, they also result in a large number of time-consuming failures. Our strategy to bring them under control is to skip those with high failure rates and then work, as time allows, to re-enable them one by one. Epic: none Release note: None
1 parent 67b3c08 commit ee710cf

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

pkg/cmd/roachtest/tests/perturbation/framework.go

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -272,27 +272,31 @@ func setup(p perturbation, acceptableChange float64) variations {
272272
return v
273273
}
274274

275-
func register(r registry.Registry, p perturbation) {
276-
// Metamorphic perturbation tests are currently disabled. See
275+
func register(r registry.Registry, p perturbation, skipReason string) {
276+
// All metamorphic perturbation tests are currently disabled. See
277277
// https://github.com/cockroachdb/cockroach/issues/142148.
278-
// addMetamorphic(r, p)
279-
addFull(r, p)
278+
addMetamorphic(r, p, "#142148")
279+
addFull(r, p, skipReason)
280280
addDev(r, p)
281281
}
282282

283283
func RegisterTests(r registry.Registry) {
284-
// NB: If these tests fail because they are flaky, increase the numbers
285-
// until they pass. Additionally add the seed (from the log) that caused
286-
// them to fail as a comment in the test.
287-
register(r, restart{})
288-
register(r, partition{})
289-
register(r, addNode{})
290-
register(r, decommission{})
291-
register(r, backfill{})
292-
register(r, &slowDisk{})
293-
register(r, elasticWorkload{})
294-
register(r, intents{})
295-
register(r, backup{})
284+
const notSkipped = ""
285+
const skippedByBankruptcy = "#149662"
286+
287+
register(r, restart{}, notSkipped)
288+
register(r, backup{}, notSkipped)
289+
290+
// TODO(ssd): We skipped the majority of these tests so that we can focus on
291+
// one at a time. These are vaguely ordered by their previous pass rate
292+
// (highest first).
293+
register(r, intents{}, skippedByBankruptcy)
294+
register(r, decommission{}, skippedByBankruptcy)
295+
register(r, elasticWorkload{}, skippedByBankruptcy)
296+
register(r, partition{}, skippedByBankruptcy)
297+
register(r, backfill{}, notSkipped)
298+
register(r, &slowDisk{}, skippedByBankruptcy)
299+
register(r, addNode{}, skippedByBankruptcy)
296300
}
297301

298302
func (v variations) makeClusterSpec() spec.ClusterSpec {
@@ -415,13 +419,14 @@ var perturbationDefaultProcessFunction = func(test string, histograms *roachtest
415419
}
416420

417421
//lint:ignore U1000 unused
418-
func addMetamorphic(r registry.Registry, p perturbation) {
422+
func addMetamorphic(r registry.Registry, p perturbation, skipReason string) {
419423
rng, seed := randutil.NewPseudoRand()
420424
v := p.setupMetamorphic(rng)
421425
v.seed = seed
422426
v = v.finishSetup()
423427
r.Add(registry.TestSpec{
424428
Name: fmt.Sprintf("perturbation/metamorphic/%s", v.perturbationName()),
429+
Skip: skipReason,
425430
CompatibleClouds: v.cloud,
426431
Suites: registry.Suites(registry.Perturbation),
427432
Owner: registry.OwnerKV,
@@ -433,11 +438,12 @@ func addMetamorphic(r registry.Registry, p perturbation) {
433438
})
434439
}
435440

436-
func addFull(r registry.Registry, p perturbation) {
441+
func addFull(r registry.Registry, p perturbation, skipReason string) {
437442
v := p.setup()
438443
v = v.finishSetup()
439444
r.Add(registry.TestSpec{
440445
Name: fmt.Sprintf("perturbation/full/%s", v.perturbationName()),
446+
Skip: skipReason,
441447
CompatibleClouds: v.cloud,
442448
Suites: registry.Suites(registry.Nightly),
443449
Owner: registry.OwnerKV,

0 commit comments

Comments
 (0)