55 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From e724bb7018a482640c4f194f88b554af2c59d76e Mon Sep 17 00:00:00 2001
 | |
| From: Mark Benvenuto <mark.benvenuto@mongodb.com>
 | |
| Date: Wed, 20 Sep 2017 11:50:02 -0400
 | |
| Subject: [PATCH] SERVER-30857 Support unknown Linux distributions
 | |
| 
 | |
| ---
 | |
|  src/mongo/rpc/metadata/client_metadata.cpp | 6 ------
 | |
|  src/mongo/util/processinfo_linux.cpp       | 9 ++++++---
 | |
|  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 c3debf377bd..c2813b026b0 100644
 | |
| --- a/src/mongo/util/processinfo_linux.cpp
 | |
| +++ b/src/mongo/util/processinfo_linux.cpp
 | |
| @@ -376,10 +376,13 @@ class LinuxSysHelper {
 | |
|              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");
 | |
|      }
 | |
|  
 | |
|      /**
 |