Skip to content

Commit 1d434f4

Browse files
committed
roachtest: simplify and dedup
1 parent 30e9c52 commit 1d434f4

File tree

1 file changed

+44
-33
lines changed

1 file changed

+44
-33
lines changed

pkg/cmd/roachtest/tests/sysbench.go

Lines changed: 44 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -356,30 +356,41 @@ func registerSysbench(r registry.Registry) {
356356
}
357357

358358
for _, d := range []struct {
359-
n, cpus int
360-
pick func(sysbenchWorkload) bool // nil means true for all
361-
extra extraSetup
359+
n, cpus int
360+
transform func(opts *sysbenchOptions) bool // false = skip
362361
}{
363362
{n: 1, cpus: 32},
364363
{n: 3, cpus: 32},
365-
{n: 3, cpus: 8, pick: coreThree},
366-
{n: 3, cpus: 8, pick: coreThree,
367-
extra: extraSetup{
368-
nameSuffix: "-settings",
369-
stmts: []string{
370-
`set cluster setting sql.stats.flush.enabled = false`,
371-
`set cluster setting sql.metrics.statement_details.enabled = false`,
372-
`set cluster setting kv.split_queue.enabled = false`,
373-
`set cluster setting kv.transaction.write_buffering.enabled = true`,
374-
},
375-
useDRPC: true,
364+
{n: 3, cpus: 8,
365+
transform: func(opts *sysbenchOptions) bool {
366+
// Only run core three.
367+
if !coreThree(opts.workload) {
368+
return false
369+
}
370+
return true
371+
},
372+
},
373+
{n: 3, cpus: 8,
374+
transform: func(opts *sysbenchOptions) bool {
375+
// Only run core three.
376+
if !coreThree(opts.workload) {
377+
return false
378+
}
379+
opts.extra = extraSetup{
380+
nameSuffix: "-settings",
381+
stmts: []string{
382+
`set cluster setting sql.stats.flush.enabled = false`,
383+
`set cluster setting sql.metrics.statement_details.enabled = false`,
384+
`set cluster setting kv.split_queue.enabled = false`,
385+
`set cluster setting kv.transaction.write_buffering.enabled = true`,
386+
},
387+
useDRPC: true,
388+
}
389+
return true
376390
},
377391
},
378392
} {
379393
for w := sysbenchWorkload(0); w < numSysbenchWorkloads; w++ {
380-
if d.pick != nil && !d.pick(w) {
381-
continue
382-
}
383394
concPerCPU := d.n*3 - 1
384395
conc := d.cpus * concPerCPU
385396
opts := sysbenchOptions{
@@ -388,15 +399,17 @@ func registerSysbench(r registry.Registry) {
388399
concurrency: conc,
389400
tables: 10,
390401
rowsPerTable: 10000000,
391-
extra: d.extra,
402+
}
403+
if d.transform != nil && !d.transform(&opts) {
404+
continue
392405
}
393406

394407
benchname := "sysbench"
395-
if d.extra.nameSuffix != "" {
396-
benchname += d.extra.nameSuffix
408+
if opts.extra.nameSuffix != "" {
409+
benchname += opts.extra.nameSuffix
397410
}
398411

399-
r.Add(registry.TestSpec{
412+
spec := registry.TestSpec{
400413
Name: fmt.Sprintf("%s/%s/nodes=%d/cpu=%d/conc=%d", benchname, w, d.n, d.cpus, conc),
401414
Benchmark: true,
402415
Owner: registry.OwnerTestEng,
@@ -407,23 +420,21 @@ func registerSysbench(r registry.Registry) {
407420
Run: func(ctx context.Context, t test.Test, c cluster.Cluster) {
408421
runSysbench(ctx, t, c, opts)
409422
},
410-
})
423+
}
424+
r.Add(spec)
411425

412426
// Add a variant of each test that uses PostgreSQL instead of CockroachDB.
413427
if d.n == 1 {
414428
pgOpts := opts
415429
pgOpts.usePostgres = true
416-
r.Add(registry.TestSpec{
417-
Name: fmt.Sprintf("sysbench/%s/postgres/cpu=%d/conc=%d", w, d.cpus, conc),
418-
Benchmark: true,
419-
Owner: registry.OwnerTestEng,
420-
Cluster: r.MakeClusterSpec(d.n+1, spec.CPU(d.cpus), spec.WorkloadNode(), spec.WorkloadNodeCPU(16)),
421-
CompatibleClouds: registry.OnlyGCE,
422-
Suites: registry.ManualOnly,
423-
Run: func(ctx context.Context, t test.Test, c cluster.Cluster) {
424-
runSysbench(ctx, t, c, pgOpts)
425-
},
426-
})
430+
pgSpec := spec
431+
pgSpec.Name = fmt.Sprintf("sysbench/%s/postgres/cpu=%d/conc=%d", w, d.cpus, conc)
432+
pgSpec.Suites = registry.ManualOnly
433+
pgSpec.TestSelectionOptOutSuites = registry.ManualOnly
434+
pgSpec.Run = func(ctx context.Context, t test.Test, c cluster.Cluster) {
435+
runSysbench(ctx, t, c, pgOpts)
436+
}
437+
r.Add(pgSpec)
427438
}
428439
}
429440
}

0 commit comments

Comments
 (0)