Skip to content

Commit 12f4072

Browse files
authored
PMM-12350 Fix mongos errors. (#779)
1 parent b173af7 commit 12f4072

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

exporter/v1_compatibility.go

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -807,10 +807,19 @@ func specialMetrics(ctx context.Context, client *mongo.Client, m bson.M, l *logr
807807
l.Errorf("cannot retrieve MongoDB buildInfo: %s", err)
808808
}
809809

810-
if engine, err := storageEngine(m); err != nil {
811-
l.Errorf("cannot retrieve engine type: %s", err)
812-
} else {
813-
metrics = append(metrics, engine)
810+
nodeType, err := getNodeType(ctx, client)
811+
if err != nil {
812+
l.WithFields(logrus.Fields{
813+
"component": "diagnosticDataCollector",
814+
}).Errorf("Cannot get node type: %s", err)
815+
}
816+
817+
if nodeType == typeMongod {
818+
if engine, err := storageEngine(m); err != nil {
819+
l.Errorf("cannot retrieve engine type: %s", err)
820+
} else {
821+
metrics = append(metrics, engine)
822+
}
814823
}
815824
metrics = append(metrics, serverVersion(buildInfo))
816825

@@ -825,10 +834,12 @@ func specialMetrics(ctx context.Context, client *mongo.Client, m bson.M, l *logr
825834
}
826835
}
827836

828-
if opLogMetrics, err := oplogStatus(ctx, client); err != nil {
829-
l.Warnf("cannot create metrics for oplog: %s", err)
830-
} else {
831-
metrics = append(metrics, opLogMetrics...)
837+
if nodeType != typeMongos {
838+
if opLogMetrics, err := oplogStatus(ctx, client); err != nil {
839+
l.Warnf("cannot create metrics for oplog: %s", err)
840+
} else {
841+
metrics = append(metrics, opLogMetrics...)
842+
}
832843
}
833844

834845
return metrics

0 commit comments

Comments
 (0)