diff --git a/pkg/cmd/roachtest/tpcc.go b/pkg/cmd/roachtest/tpcc.go index 89765f11b58a..dcc1c897683f 100644 --- a/pkg/cmd/roachtest/tpcc.go +++ b/pkg/cmd/roachtest/tpcc.go @@ -299,7 +299,6 @@ func registerTPCC(r *registry) { }) }, }) - r.Add(testSpec{ Name: "tpcc/w=100/nodes=3/chaos=true", Cluster: makeClusterSpec(4), @@ -325,6 +324,24 @@ func registerTPCC(r *registry) { }) }, }) + // Overload runs with TPCC on a cluster with insufficient resources for the + // warehouse count. At time of writing a cluster with this spec cannot + // support even half this warehouse count. The goal of this test is to ensure + // that nodes do not crash. + overloadSpec := makeClusterSpec(4, cpu(4)) + r.Add(testSpec{ + Name: "tpcc/overload/" + overloadSpec.String(), + MinVersion: maybeMinVersionForFixturesImport(cloud), + Cluster: overloadSpec, + Run: func(ctx context.Context, t *test, c *cluster) { + warehouses := 1000 + runTPCC(ctx, t, c, tpccOptions{ + Warehouses: warehouses, + Duration: 2 * time.Hour, + Extra: "--tolerate-errors", + }) + }, + }) // Run a few representative tpccbench specs in CI. registerTPCCBenchSpec(r, tpccBenchSpec{