summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Benvenuto <mark.benvenuto@mongodb.com>2017-09-20 11:50:02 -0400
committerMark Benvenuto <mark.benvenuto@mongodb.com>2018-05-03 11:19:41 -0400
commit607e67a643556234937af69e9b72b2cc8c34b692 (patch)
tree3b96ab3f41c7ea29d705669f36c313c3ca0085d2
parentc9202bfe40c291a97ff56d8410b8f2245de44ab0 (diff)
downloadmongo-607e67a643556234937af69e9b72b2cc8c34b692.tar.gz
SERVER-30857 Support unknown Linux distributions
(cherry picked from commit e724bb7018a482640c4f194f88b554af2c59d76e)
-rw-r--r--src/mongo/rpc/metadata/client_metadata.cpp6
-rw-r--r--src/mongo/util/processinfo_linux.cpp9
2 files changed, 6 insertions, 9 deletions
diff --git a/src/mongo/rpc/metadata/client_metadata.cpp b/src/mongo/rpc/metadata/client_metadata.cpp
index 845a315dd74..a959a4e31e9 100644
--- a/src/mongo/rpc/metadata/client_metadata.cpp
+++ b/src/mongo/rpc/metadata/client_metadata.cpp
@@ -302,9 +302,6 @@ void ClientMetadata::serializePrivate(StringData driverName,
StringData osArchitecture,
StringData osVersion,
BSONObjBuilder* builder) {
- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() &&
- !osArchitecture.empty() && !osVersion.empty());
-
BSONObjBuilder metaObjBuilder(builder->subobjStart(kMetadataDocumentName));
{
@@ -347,9 +344,6 @@ Status ClientMetadata::serializePrivate(StringData driverName,
StringData osVersion,
StringData appName,
BSONObjBuilder* builder) {
- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() &&
- !osArchitecture.empty() && !osVersion.empty());
-
if (appName.size() > kMaxApplicationNameByteLength) {
return Status(ErrorCodes::ClientMetadataAppNameTooLarge,
str::stream() << "The '" << kApplication << "." << kName
diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
index 910015215e0..878d423af7f 100644
--- a/src/mongo/util/processinfo_linux.cpp
+++ b/src/mongo/util/processinfo_linux.cpp
@@ -374,10 +374,13 @@ public:
if ((nl = name.find('\n', nl)) != string::npos)
// stop at first newline
name.erase(nl);
- // no standard format for name and version. use kernel version
- version = "Kernel ";
- version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease");
+ } else {
+ name = "unknown";
}
+
+ // There is no standard format for name and version so use the kernel version.
+ version = "Kernel ";
+ version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease");
}
/**