@@ -30,6 +30,7 @@ import (
3030 "github.com/cockroachdb/cockroach/pkg/cmd/roachtest/cluster"
3131 "github.com/cockroachdb/cockroach/pkg/cmd/roachtest/option"
3232 "github.com/cockroachdb/cockroach/pkg/cmd/roachtest/registry"
33+ "github.com/cockroachdb/cockroach/pkg/cmd/roachtest/roachtestflags"
3334 "github.com/cockroachdb/cockroach/pkg/cmd/roachtest/roachtestutil"
3435 "github.com/cockroachdb/cockroach/pkg/cmd/roachtest/roachtestutil/clusterupgrade"
3536 "github.com/cockroachdb/cockroach/pkg/cmd/roachtest/roachtestutil/mixedversion"
@@ -2950,8 +2951,8 @@ func registerBackupMixedVersion(r registry.Registry) {
29502951 // for the cluster used in this test without overloading it,
29512952 // which can make the backups take much longer to finish.
29522953 const numWarehouses = 100
2953- bankInit , bankRun := bankWorkloadCmd (t .L (), testRNG , c .CRDBNodes (), false )
2954- tpccInit , tpccRun := tpccWorkloadCmd (t .L (), testRNG , numWarehouses , c .CRDBNodes ())
2954+ bankInit , bankRun := bankWorkloadCmd (t .L (), testRNG , roachtestflags . GlobalSeed , c .CRDBNodes (), false )
2955+ tpccInit , tpccRun := tpccWorkloadCmd (t .L (), testRNG , roachtestflags . GlobalSeed , numWarehouses , c .CRDBNodes ())
29552956
29562957 mvt .OnStartup ("set short job interval" , backupTest .setShortJobIntervals )
29572958 mvt .OnStartup ("take backup in previous version" , backupTest .maybeTakePreviousVersionBackup )
@@ -2989,23 +2990,29 @@ func registerBackupMixedVersion(r registry.Registry) {
29892990}
29902991
29912992func tpccWorkloadCmd (
2992- l * logger.Logger , testRNG * rand.Rand , numWarehouses int , roachNodes option.NodeListOption ,
2993+ l * logger.Logger ,
2994+ testRNG * rand.Rand ,
2995+ seed int64 ,
2996+ numWarehouses int ,
2997+ roachNodes option.NodeListOption ,
29932998) (init * roachtestutil.Command , run * roachtestutil.Command ) {
29942999 init = roachtestutil .NewCommand ("./cockroach workload init tpcc" ).
29953000 MaybeOption (testRNG .Intn (2 ) == 0 , "families" ).
29963001 Arg ("{pgurl%s}" , roachNodes ).
2997- Flag ("warehouses" , numWarehouses )
3002+ Flag ("warehouses" , numWarehouses ).
3003+ MaybeFlag (seed != 0 , "seed" , seed )
29983004 run = roachtestutil .NewCommand ("./cockroach workload run tpcc" ).
29993005 Arg ("{pgurl%s}" , roachNodes ).
30003006 Flag ("warehouses" , numWarehouses ).
3007+ MaybeFlag (seed != 0 , "seed" , seed ).
30013008 Option ("tolerate-errors" )
30023009 l .Printf ("tpcc init: %s" , init )
30033010 l .Printf ("tpcc run: %s" , run )
30043011 return init , run
30053012}
30063013
30073014func bankWorkloadCmd (
3008- l * logger.Logger , testRNG * rand.Rand , roachNodes option.NodeListOption , mock bool ,
3015+ l * logger.Logger , testRNG * rand.Rand , seed int64 , roachNodes option.NodeListOption , mock bool ,
30093016) (init * roachtestutil.Command , run * roachtestutil.Command ) {
30103017 bankRows := bankPossibleRows [testRNG .Intn (len (bankPossibleRows ))]
30113018 possiblePayloads := bankPossiblePayloadBytes
@@ -3024,31 +3031,36 @@ func bankWorkloadCmd(
30243031 init = roachtestutil .NewCommand ("./cockroach workload init bank" ).
30253032 Flag ("rows" , bankRows ).
30263033 MaybeFlag (bankPayload != 0 , "payload-bytes" , bankPayload ).
3034+ MaybeFlag (seed != 0 , "seed" , seed ).
30273035 Flag ("ranges" , 0 ).
30283036 Arg ("{pgurl%s}" , roachNodes )
30293037 run = roachtestutil .NewCommand ("./cockroach workload run bank" ).
30303038 Arg ("{pgurl%s}" , roachNodes ).
3039+ MaybeFlag (seed != 0 , "seed" , seed ).
30313040 Option ("tolerate-errors" )
30323041 l .Printf ("bank init: %s" , init )
30333042 l .Printf ("bank run: %s" , run )
30343043 return init , run
30353044}
30363045
30373046func schemaChangeWorkloadCmd (
3038- l * logger.Logger , testRNG * rand.Rand , roachNodes option.NodeListOption , mock bool ,
3047+ l * logger.Logger , testRNG * rand.Rand , seed int64 , roachNodes option.NodeListOption , mock bool ,
30393048) (init * roachtestutil.Command , run * roachtestutil.Command ) {
30403049 maxOps := 1000
30413050 concurrency := 5
30423051 if mock {
30433052 maxOps = 10
30443053 concurrency = 2
30453054 }
3046- initCmd := roachtestutil .NewCommand ("./workload init schemachange" ).
3055+ if seed == 0 {
3056+ seed = testRNG .Int63 ()
3057+ }
3058+ initCmd := roachtestutil .NewCommand ("COCKROACH_RANDOM_SEED=%d ./workload init schemachange" , seed ).
30473059 Arg ("{pgurl%s}" , roachNodes )
30483060 // TODO (msbutler): ideally we'd use the `db` flag to explicitly set the
30493061 // database, but it is currently broken:
30503062 // https://github.com/cockroachdb/cockroach/issues/115545
3051- runCmd := roachtestutil .NewCommand ("COCKROACH_RANDOM_SEED=%d ./workload run schemachange" , testRNG . Int63 () ).
3063+ runCmd := roachtestutil .NewCommand ("COCKROACH_RANDOM_SEED=%d ./workload run schemachange" , seed ).
30523064 Flag ("verbose" , 1 ).
30533065 Flag ("max-ops" , maxOps ).
30543066 Flag ("concurrency" , concurrency ).
0 commit comments