From 63c1f52aea218b64b9289de6ba28969318137c3e Mon Sep 17 00:00:00 2001 From: igroene <9805809+igroene@users.noreply.github.com> Date: Wed, 29 Oct 2025 15:17:52 -0300 Subject: [PATCH 1/2] prevent mongos router from returning mongodb_mongod_replset_my_state --- exporter/v1_compatibility.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/exporter/v1_compatibility.go b/exporter/v1_compatibility.go index 0398afeea..a7eb97731 100644 --- a/exporter/v1_compatibility.go +++ b/exporter/v1_compatibility.go @@ -819,7 +819,7 @@ func specialMetrics(ctx context.Context, client *mongo.Client, m bson.M, nodeTyp } } - if nodeType != typeArbiter { + if nodeType == typeMongod { metrics = append(metrics, myState(ctx, client)) if replSetGetStatus, ok := m["replSetGetStatus"].(bson.M); ok { if rm := replSetMetrics(replSetGetStatus, l); rm != nil { @@ -827,12 +827,10 @@ func specialMetrics(ctx context.Context, client *mongo.Client, m bson.M, nodeTyp } } - if nodeType != typeMongos { - if opLogMetrics, err := oplogStatus(ctx, client); err != nil { - l.Warn("cannot create metrics for oplog", "error", err) - } else { - metrics = append(metrics, opLogMetrics...) - } + if opLogMetrics, err := oplogStatus(ctx, client); err != nil { + l.Warn("cannot create metrics for oplog", "error", err) + } else { + metrics = append(metrics, opLogMetrics...) } } From a495595e289a0ea4d969ad2610f1cf0043830c4d Mon Sep 17 00:00:00 2001 From: Alex Demidoff Date: Wed, 29 Oct 2025 22:48:56 +0300 Subject: [PATCH 2/2] chore: fix the compat version collector test --- ...feature_compatibility_version_collector_test.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/exporter/feature_compatibility_version_collector_test.go b/exporter/feature_compatibility_version_collector_test.go index 608dd4386..301df846d 100644 --- a/exporter/feature_compatibility_version_collector_test.go +++ b/exporter/feature_compatibility_version_collector_test.go @@ -50,17 +50,19 @@ func TestFCVCollector(t *testing.T) { var mversion string mmv := fmt.Sprintf("%d.%d", v.Segments()[0], v.Segments()[1]) - switch { - case mmv == "5.0": + switch mmv { + case "5.0": mversion = "4.4" - case mmv == "4.4": + case "4.4": mversion = "4.2" - case mmv == "6.0": + case "6.0": mversion = "5.0" - case mmv == "7.0": + case "7.0": mversion = "6.0" - case mmv == "8.0": + case "8.0": mversion = "7.0" + case "8.2": + mversion = "8.0" default: mversion = mmv }