From 8d5914b6fb33715a48d46b350c596eff63b7603a Mon Sep 17 00:00:00 2001 From: Victor Lyuboslavsky Date: Tue, 18 Jun 2024 11:29:13 -0500 Subject: [PATCH] Added debug info to TestUpdateStatsOnReplica (#19825) To debug occasional CI failures. --- server/service/service_campaign_test.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/server/service/service_campaign_test.go b/server/service/service_campaign_test.go index 9eb5a23816..7202f2d55b 100644 --- a/server/service/service_campaign_test.go +++ b/server/service/service_campaign_test.go @@ -3,6 +3,7 @@ package service import ( "context" "crypto/tls" + "github.com/fleetdm/fleet/v4/server/contexts/ctxdb" "math/rand" "net/http" "net/http/httptest" @@ -256,7 +257,21 @@ func testUpdateStats(t *testing.T, ds *mysql.Datastore, usingReplica bool) { }() select { case <-time.After(2 * time.Second): - t.Fatal("Timeout waiting for aggregated stats") + // We fail the test. Gather information for debug. + // Grab stats from primary DB (master) + lastErr := "" + if err != nil { + lastErr = err.Error() + } + aggStats, err = mysql.GetAggregatedStats( + ctxdb.RequirePrimary(ctx, true), svc.ds.(*mysql.Datastore), fleet.AggregatedStatsTypeScheduledQuery, queryID, + ) + if err != nil { + t.Logf("Error getting aggregated stats from primary DB: %s", err.Error()) + } else { + t.Logf("Aggregated stats from primary DB: totalExecutions=%f %#v", *aggStats.TotalExecutions, aggStats) + } + t.Fatalf("Timeout waiting for aggregated stats. Last error: %s", lastErr) case <-done: // Continue }