@cryptotaxi247 / netdata-1 / commits / 583b006ae

fix(go.d/mongodb): set 30s default timeout for top-queries function (#21860)

Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>

Lennart Kobosil committed Mar 2, 2026 at 12:37 UTC 583b006aedfd79f3d0f3fde3d4717b4906281cd0
2 files changed +4 -4
src/go/plugin/go.d/collector/mongodb/collector.go
+2 -1
@@ -39,7 +39,8 @@ func New() *Collector {
39 },
40 Functions: FunctionsConfig{
41 TopQueries: TopQueriesConfig{
42 - Limit: 500,
42 + Timeout: confopt.Duration(10 * time.Second),
43 + Limit: 500,
44 },
45 },
46 },
src/go/plugin/go.d/collector/mongodb/func_top_queries.go
+2 -3
@@ -466,7 +466,7 @@ func (f *funcTopQueries) detectProfileFields(ctx context.Context, databases []st
466
467 // Sample documents from system.profile to detect available fields
468 for _, dbName := range databases {
469 - queryCtx, cancel := context.WithTimeout(ctx, client.timeout)
469 + queryCtx, cancel := context.WithTimeout(ctx, f.router.collector.topQueriesTimeout())
470
471 collection := client.client.Database(dbName).Collection("system.profile")
472 opts := options.FindOne().SetSort(bson.D{{Key: "$natural", Value: -1}})
@@ -508,8 +508,7 @@ func (f *funcTopQueries) querySystemProfile(ctx context.Context, dbName, sortCol
508 return nil, false, fmt.Errorf("client not initialized")
509 }
510
511 - // Set timeout for the query
512 - queryCtx, cancel := context.WithTimeout(ctx, client.timeout)
511 + queryCtx, cancel := context.WithTimeout(ctx, f.router.collector.topQueriesTimeout())
512 defer cancel()
513
514 // Check if profiling is enabled for this database