-
Type:
Improvement
-
Status: Done
-
Priority:
Medium
-
Resolution: Fixed
-
Affects Version/s: 4.0.5-2
-
Fix Version/s: 4.0.6-3, 3.6.11-3.1, 3.4.20-2.18
-
Component/s: Core
-
Labels:None
Currently there seems to be no way for MongoDB to tell us the flavour of the server, ie: "is this server MongoDB Enterprise/Community or PSMDB?".
I need the ability to determine the server flavour/type for several tooling projects for MongoDB.
'buildInfo' is the MongoDB server command that displays info about the build, so I expected to find something in this output that would indicate we are talking to a PSMDB MongoDB server or not, but there seems to be nothing.
> db.adminCommand({buildInfo:1}) { "version" : "3.4.13-2.11", "gitVersion" : "87cbac818356abd1083c35bacf2bc750955f792d", "modules" : [ ], "allocator" : "tcmalloc", "javascriptEngine" : "mozjs", "sysInfo" : "deprecated", "versionArray" : [ 3, 4, 14, -100 ], "openssl" : { "running" : "OpenSSL 1.0.1t 3 May 2016", "compiled" : "OpenSSL 1.0.1t 3 May 2016" }, "buildEnvironment" : { "distmod" : "", "distarch" : "x86_64", "cc" : "/usr/local/gcc-5.4.0/bin/gcc-5.4: gcc-5.4 (GCC) 5.4.0", "ccflags" : "-fno-omit-frame-pointer -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -O2 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-missing-braces -fstack-protector-strong -fno-builtin-memcmp", "cxx" : "/usr/local/gcc-5.4.0/bin/g++-5.4: g++-5.4 (GCC) 5.4.0", "cxxflags" : "-Woverloaded-virtual -Wno-maybe-uninitialized -std=c++11", "linkflags" : "-pthread -Wl,-z,now -rdynamic -Wl,--fatal-warnings -fstack-protector-strong -fuse-ld=gold -Wl,--build-id -Wl,-z,noexecstack -Wl,--warn-execstack -Wl,-z,relro", "target_arch" : "x86_64", "target_os" : "linux" }, "bits" : 64, "debug" : false, "maxBsonObjectSize" : 16777216, "storageEngines" : [ "devnull", "ephemeralForTest", "inMemory", "mmapv1", "rocksdb", "wiredTiger" ], "ok" : 1 }
Please add some reliable way for a client driver to determine what type of MongoDB server they're talking to, or at very least a boolean that tells us if the server is a Percona binary or not.