summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaria van Keulen <maria.vankeulen@mongodb.com>2016-09-27 13:33:49 -0400
committerMaria van Keulen <maria.vankeulen@mongodb.com>2016-10-03 14:32:42 -0400
commitb8a5742ef7623640eb6977f14e25649bad661208 (patch)
tree58cf810369cb85c5800718f578c9a0d939ed9e82
parenta5d9fa498c17a2aa2df6e6964ec4b241414184cd (diff)
downloadmongo-b8a5742ef7623640eb6977f14e25649bad661208.tar.gz
SERVER-26262 Add logging for setting featureCompatibilityVersionr3.4.0-rc0
-rw-r--r--src/mongo/db/commands/feature_compatibility_version.cpp37
1 files changed, 23 insertions, 14 deletions
diff --git a/src/mongo/db/commands/feature_compatibility_version.cpp b/src/mongo/db/commands/feature_compatibility_version.cpp
index 943f9cbe93a..a9bdc857b4f 100644
--- a/src/mongo/db/commands/feature_compatibility_version.cpp
+++ b/src/mongo/db/commands/feature_compatibility_version.cpp
@@ -26,6 +26,8 @@
* then also delete it in the license file.
*/
+#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kCommand
+
#include "mongo/platform/basic.h"
#include "mongo/db/commands/feature_compatibility_version.h"
@@ -44,6 +46,7 @@
#include "mongo/db/storage/storage_engine.h"
#include "mongo/db/write_concern_options.h"
#include "mongo/rpc/get_status_from_command_result.h"
+#include "mongo/util/log.h"
namespace mongo {
@@ -93,6 +96,18 @@ BSONObj makeUpdateCommand(StringData newVersion, BSONObj writeConcern) {
return updateCmd.obj();
}
+
+StringData getFeatureCompatibilityVersionString(
+ ServerGlobalParams::FeatureCompatibility::Version version) {
+ switch (version) {
+ case ServerGlobalParams::FeatureCompatibility::Version::k34:
+ return FeatureCompatibilityVersion::kVersion34;
+ case ServerGlobalParams::FeatureCompatibility::Version::k32:
+ return FeatureCompatibilityVersion::kVersion32;
+ default:
+ MONGO_UNREACHABLE;
+ }
+}
} // namespace
StatusWith<ServerGlobalParams::FeatureCompatibility::Version> FeatureCompatibilityVersion::parse(
@@ -310,8 +325,10 @@ void FeatureCompatibilityVersion::onInsertOrUpdate(const BSONObj& doc) {
idElement.String() != FeatureCompatibilityVersion::kParameterName) {
return;
}
- serverGlobalParams.featureCompatibility.version.store(
- uassertStatusOK(FeatureCompatibilityVersion::parse(doc)));
+ auto newVersion = uassertStatusOK(FeatureCompatibilityVersion::parse(doc));
+ log() << "setting featureCompatibilityVersion to "
+ << getFeatureCompatibilityVersionString(newVersion);
+ serverGlobalParams.featureCompatibility.version.store(newVersion);
}
void FeatureCompatibilityVersion::onDelete(const BSONObj& doc) {
@@ -320,6 +337,7 @@ void FeatureCompatibilityVersion::onDelete(const BSONObj& doc) {
idElement.String() != FeatureCompatibilityVersion::kParameterName) {
return;
}
+ log() << "setting featureCompatibilityVersion to " << FeatureCompatibilityVersion::kVersion32;
serverGlobalParams.featureCompatibility.version.store(
ServerGlobalParams::FeatureCompatibility::Version::k32);
}
@@ -336,19 +354,10 @@ public:
false // allowedToChangeAtRuntime
) {}
- StringData featureCompatibilityVersionStr() {
- switch (serverGlobalParams.featureCompatibility.version.load()) {
- case ServerGlobalParams::FeatureCompatibility::Version::k34:
- return FeatureCompatibilityVersion::kVersion34;
- case ServerGlobalParams::FeatureCompatibility::Version::k32:
- return FeatureCompatibilityVersion::kVersion32;
- default:
- MONGO_UNREACHABLE;
- }
- }
-
virtual void append(OperationContext* txn, BSONObjBuilder& b, const std::string& name) {
- b.append(name, featureCompatibilityVersionStr());
+ b.append(name,
+ getFeatureCompatibilityVersionString(
+ serverGlobalParams.featureCompatibility.version.load()));
}
virtual Status set(const BSONElement& newValueElement) {