From a89d274d9a8a3c5b9ab87ce65276cf63c2d85552 Mon Sep 17 00:00:00 2001 From: Wenyi Hu Date: Mon, 27 Jan 2025 18:01:22 -0500 Subject: [PATCH] cdctest: use legacy schema changer when sql smith is enabled This patch disables the declarative schema changer when TestChangefeedNemeses uses SQLSmith. Enabling it causes a decoder error, so it is temporarily disabled as a workaround. This ensures nemesis testing can run in CI with SQLSmith without being skipped. Informs: #137125 Release note: None --- pkg/ccl/changefeedccl/nemeses_test.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/ccl/changefeedccl/nemeses_test.go b/pkg/ccl/changefeedccl/nemeses_test.go index 3386784cf7c7..3998cad46bf2 100644 --- a/pkg/ccl/changefeedccl/nemeses_test.go +++ b/pkg/ccl/changefeedccl/nemeses_test.go @@ -25,16 +25,19 @@ func TestChangefeedNemeses(t *testing.T) { skip.UnderRace(t, "takes >1 min under race") testutils.RunValues(t, "nemeses_options=", cdctest.NemesesOptions, func(t *testing.T, nop cdctest.NemesesOption) { - if nop.EnableSQLSmith == true { - skip.WithIssue(t, 137125) - } testFn := func(t *testing.T, s TestServer, f cdctest.TestFeedFactory) { rng, seed := randutil.NewPseudoRand() t.Logf("random seed: %d", seed) sqlDB := sqlutils.MakeSQLRunner(s.DB) - withLegacySchemaChanger := maybeDisableDeclarativeSchemaChangesForTest(t, sqlDB) - + // TODO(#137125): decoder encounters a bug when the declarative schema + // changer is enabled with SQLSmith + withLegacySchemaChanger := nop.EnableSQLSmith || rng.Float32() < 0.1 + if withLegacySchemaChanger { + t.Log("using legacy schema changer") + sqlDB.Exec(t, "SET use_declarative_schema_changer='off'") + sqlDB.Exec(t, "SET CLUSTER SETTING sql.defaults.use_declarative_schema_changer='off'") + } v, err := cdctest.RunNemesis(f, s.DB, t.Name(), withLegacySchemaChanger, rng, nop) if err != nil { t.Fatalf("%+v", err)