Skip to content

Commit

Permalink
roachtest: add kv/splits/nodes=3/quiesce=false/lease=leader
Browse files Browse the repository at this point in the history
This commit adds a `kv/splits/nodes=3/quiesce=false/lease=leader` test. It
should be able to support 300k ranges even without quiescence, because leader
leases use store liveness for failure detection and lease extension

Epic: None
Release note: None
  • Loading branch information
nvanbenschoten committed Oct 29, 2024
1 parent f759a46 commit 3abf9d1
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions pkg/cmd/roachtest/tests/kv.go
Original file line number Diff line number Diff line change
Expand Up @@ -721,15 +721,19 @@ func registerKVSplits(r registry.Registry) {
// far past the number of replicas per node we support, at least if the
// ranges start to unquiesce (which can set off a cascade due to resource
// exhaustion).
{true, 300000, registry.EpochLeases, 2 * time.Hour},
{true, 300_000, registry.EpochLeases, 2 * time.Hour},
// This version of the test prevents range quiescence to trigger the
// badness described above more reliably for when we wish to improve
// the performance. For now, just verify that 30k unquiesced ranges
// is tenable.
{false, 30000, registry.EpochLeases, 2 * time.Hour},
{false, 30_000, registry.EpochLeases, 2 * time.Hour},
// Expiration-based leases prevent quiescence, and are also more expensive
// to keep alive. Again, just verify that 30k ranges is ok.
{false, 30000, registry.ExpirationLeases, 2 * time.Hour},
{false, 30_000, registry.ExpirationLeases, 2 * time.Hour},
// Leader leases don't need quiescence, as they use store liveness for
// failure detection and lease extension. They should be able to support
// 300k ranges.
{false, 300_000, registry.LeaderLeases, 2 * time.Hour},
} {
item := item // for use in closure below
r.Add(registry.TestSpec{
Expand Down

0 comments on commit 3abf9d1

Please sign in to comment.