From cffa7e84b2b646d402a20abfcf1e7fc68dc3924f Mon Sep 17 00:00:00 2001 From: mrhid6 Date: Thu, 17 Sep 2026 09:24:42 +0000 Subject: [PATCH] fix(monitors): index heartbeat token hash --- server/internal/services/metricsweep.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server/internal/services/metricsweep.go b/server/internal/services/metricsweep.go index 5e44be9..90df9ee 100644 --- a/server/internal/services/metricsweep.go +++ b/server/internal/services/metricsweep.go @@ -23,6 +23,15 @@ func EnsureMonitorServerStateIndexes() error { if err != nil { log.Printf("warning: monitor_server_states indexes: %v", err) } + // Every heartbeat ping looks its monitor up by token hash. Sparse because + // only heartbeat monitors carry one. + _, err = db.Col("monitors").Indexes().CreateOne(context.Background(), mongo.IndexModel{ + Keys: bson.D{{Key: "heartbeat_token_hash", Value: 1}}, + Options: options.Index().SetSparse(true), + }) + if err != nil { + log.Printf("warning: monitors heartbeat_token_hash index: %v", err) + } return nil }