summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Do <do.vincent@live.com>2016-05-23 15:22:28 -0400
committerVincent Do <vincent.do@mongodb.com>2016-05-27 10:59:15 -0400
commit2f48c45858c661bd8328dc515314e672d13f0f56 (patch)
treeca69e327fd199a676761c391d334867736980945
parent3d1284ff84df16c1efa6641111858443b6d42b75 (diff)
downloadmongo-2f48c45858c661bd8328dc515314e672d13f0f56.tar.gz
SERVER-23960 Add error message for index downgrade from 3.4 to 3.2
(cherry picked from commit 869058314384c4c3c70760f51f5dd2f4ef3c9b31)
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp9
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp2
2 files changed, 9 insertions, 2 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp
index 6d72225c597..e5c478932ac 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp
@@ -225,7 +225,14 @@ WiredTigerIndex::WiredTigerIndex(OperationContext* ctx,
Status versionStatus = WiredTigerUtil::checkApplicationMetadataFormatVersion(
ctx, uri, kMinimumIndexVersion, kMaximumIndexVersion);
if (!versionStatus.isOK()) {
- fassertFailedWithStatusNoTrace(28579, versionStatus);
+ str::stream ss;
+ ss << versionStatus.reason() << " Index: {name: " << desc->indexName()
+ << ", ns: " << desc->parentNS() << "} - version too new for this mongod."
+ << " See http://dochub.mongodb.org/core/3.4-index-downgrade for detailed"
+ << " instructions on how to handle this error.";
+ Status indexVersionStatus(
+ ErrorCodes::UnsupportedFormat, ss.ss.str(), versionStatus.location());
+ fassertFailedWithStatusNoTrace(28579, indexVersionStatus);
}
}
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
index ef81ff1acc3..c1ce6ac0c35 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp
@@ -229,7 +229,7 @@ Status WiredTigerUtil::checkApplicationMetadataFormatVersion(OperationContext* o
if (version < minimumVersion || version > maximumVersion) {
return Status(ErrorCodes::UnsupportedFormat,
str::stream() << "Application metadata for " << uri
- << " has unsupported format version " << version);
+ << " has unsupported format version: " << version << ".");
}
LOG(2) << "WiredTigerUtil::checkApplicationMetadataFormatVersion "