diff --git a/pkg/sql/logictest/BUILD.bazel b/pkg/sql/logictest/BUILD.bazel index a54b6ee2b99b..5d2ed6e64db2 100644 --- a/pkg/sql/logictest/BUILD.bazel +++ b/pkg/sql/logictest/BUILD.bazel @@ -58,6 +58,7 @@ go_library( "//pkg/kv/kvclient/rangefeed", "//pkg/kv/kvserver", "//pkg/kv/kvserver/kvserverbase", + "//pkg/kv/kvserver/txnwait", "//pkg/multitenant/tenantcapabilities", "//pkg/security/username", "//pkg/server", diff --git a/pkg/sql/logictest/logic.go b/pkg/sql/logictest/logic.go index 0f39b9b66c7c..ff73735a9ee7 100644 --- a/pkg/sql/logictest/logic.go +++ b/pkg/sql/logictest/logic.go @@ -42,6 +42,7 @@ import ( "github.com/cockroachdb/cockroach/pkg/kv/kvclient/rangefeed" "github.com/cockroachdb/cockroach/pkg/kv/kvserver" "github.com/cockroachdb/cockroach/pkg/kv/kvserver/kvserverbase" + "github.com/cockroachdb/cockroach/pkg/kv/kvserver/txnwait" "github.com/cockroachdb/cockroach/pkg/multitenant/tenantcapabilities" "github.com/cockroachdb/cockroach/pkg/security/username" "github.com/cockroachdb/cockroach/pkg/server" @@ -1705,6 +1706,21 @@ func (t *logicTest) newCluster( t.Fatal(err) } } + if _, err := conn.Exec( + "RESET CLUSTER SETTING kv.closed_timestamp.target_duration", + ); err != nil { + t.Fatal(err) + } + if _, err := conn.Exec( + "RESET CLUSTER SETTING kv.closed_timestamp.side_transport_interval", + ); err != nil { + t.Fatal(err) + } + if _, err := conn.Exec( + "RESET CLUSTER SETTING kv.rangefeed.closed_timestamp_refresh_interval", + ); err != nil { + t.Fatal(err) + } } capabilities := toa.capabilities @@ -4323,6 +4339,18 @@ func RunLogicTest( if *printErrorSummary { defer lt.printErrorSummary() } + if config.UseSecondaryTenant == logictestbase.Always { + // Under multitenant configs running in EngFlow, we have seen that logic + // tests can be flaky due to an overload condition where schema change + // transactions do not heartbeat quickly enough. This allows background jobs + // such as the spanconfig reconciler or the job registry "remove claims from + // dead sessions" loop. + // See https://github.com/cockroachdb/cockroach/pull/140400#issuecomment-2634346278 + // and https://github.com/cockroachdb/cockroach/issues/140494#issuecomment-2640208187 + // for a detailed analysis of this issue. + cleanup := txnwait.TestingOverrideTxnLivenessThreshold(30 * time.Second) + defer cleanup() + } // Each test needs a copy because of Parallel serverArgsCopy := serverArgs serverArgsCopy.ForceProductionValues = serverArgs.ForceProductionValues || nonMetamorphicBatchSizes