Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 6 additions & 11 deletions pkg/cmd/roachtest/tests/perturbation/framework.go
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,6 @@ func register(r registry.Registry, p perturbation, skipReason string) {

func RegisterTests(r registry.Registry) {
const notSkipped = ""
const skippedByBankruptcy = "#149662"

register(r, restart{}, notSkipped)
addLong(r, restart{})
Expand All @@ -431,17 +430,13 @@ func RegisterTests(r registry.Registry) {
for _, asleep := range []bool{true, false} {
register(r, splits{asleep: asleep}, notSkipped)
}

// TODO(ssd): We skipped the majority of these tests so that we can focus on
// one at a time. These are vaguely ordered by their previous pass rate
// (highest first).
register(r, intents{}, skippedByBankruptcy)
register(r, decommission{}, skippedByBankruptcy)
register(r, elasticWorkload{}, skippedByBankruptcy)
register(r, partition{}, skippedByBankruptcy)
register(r, intents{}, notSkipped)
register(r, decommission{}, notSkipped)
register(r, elasticWorkload{}, notSkipped)
register(r, partition{}, notSkipped)
register(r, backfill{}, notSkipped)
register(r, &slowDisk{}, skippedByBankruptcy)
register(r, addNode{}, skippedByBankruptcy)
register(r, &slowDisk{}, notSkipped)
register(r, addNode{}, notSkipped)
}

func (v variations) makeClusterSpec() spec.ClusterSpec {
Expand Down
8 changes: 7 additions & 1 deletion pkg/cmd/roachtest/tests/perturbation/network_partition.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,13 @@ var _ perturbation = partition{}

func (p partition) setup() variations {
p.partitionSite = true
v := setup(p, defaultThresholds())
// The partition test isolates an entire region (4 of 12 nodes), removing
// 1/3 of leaseholders. Foreground throughput naturally drops sharply
// while the partition is in effect, and the meaningful pass/fail signal
// is whether the cluster returns to baseline once the partition heals.
// Skip the perturbation-interval gate; keep the default recovery gate.
v := setup(p, noImpactThresholds())
v.recoveryImpact = defaultThresholds()
v.leaseType = registry.ExpirationLeases
// TODO(baptist): Remove this setting once #120073 is fixed.
v.clusterSettings["kv.lease.reject_on_leader_unknown.enabled"] = "true"
Expand Down
9 changes: 9 additions & 0 deletions pkg/cmd/roachtest/tests/perturbation/slow_disk.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ var _ perturbation = &slowDisk{}
func (s *slowDisk) setup() variations {
s.slowLiveness = true
s.walFailover = true
// With walFailover=true and 2 disks per node (the default for the full
// variant), raft log writes fail over to the non-throttled store, so
// foreground throughput is expected to stay close to baseline even
// while the staller is active. Default thresholds apply to both
// intervals; we keep the 1.25x floor (rather than tightening) only to
// avoid flakes from the slowLiveness leg, which routes liveness
// heartbeats through the slow disk. The metamorphic variant exercises
// configurations where walFailover is off and throughput can drop
// substantially -- those should override impact independently.
return setup(s, defaultThresholds())
}

Expand Down
Loading