summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2017-08-16 17:10:45 -0400
committerMathias Stearn <mathias@10gen.com>2017-08-17 22:13:09 -0400
commit5aa60782cebed045a316b5cd6706be726178ce09 (patch)
tree4f607cde04717bcaac905bcbc7bef5e9a1180426 /src/mongo
parent9297a658e1c061b8ee9d96d15b77972c648a866e (diff)
downloadmongo-5aa60782cebed045a316b5cd6706be726178ce09.tar.gz
SERVER-30702 Stop printing stack traces on massert failures
The NoTrace variants were removed as they are now redundant.
Diffstat (limited to 'src/mongo')
-rw-r--r--src/mongo/db/catalog/database_impl.cpp5
-rw-r--r--src/mongo/db/ops/write_ops_exec.cpp8
-rw-r--r--src/mongo/db/repl/master_slave.cpp2
-rw-r--r--src/mongo/db/storage/mmap_v1/file_allocator.cpp2
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp4
-rw-r--r--src/mongo/util/assert_util.cpp20
-rw-r--r--src/mongo/util/assert_util.h32
-rw-r--r--src/mongo/util/assert_util_test.cpp17
-rw-r--r--src/mongo/util/processinfo_linux.cpp2
9 files changed, 13 insertions, 79 deletions
diff --git a/src/mongo/db/catalog/database_impl.cpp b/src/mongo/db/catalog/database_impl.cpp
index 171e4afebac..f4f88974360 100644
--- a/src/mongo/db/catalog/database_impl.cpp
+++ b/src/mongo/db/catalog/database_impl.cpp
@@ -746,9 +746,8 @@ Collection* DatabaseImpl::createCollection(OperationContext* opCtx,
_checkCanCreateCollection(opCtx, nss, optionsWithUUID);
audit::logCreateCollection(&cc(), ns);
- Status status =
- _dbEntry->createCollection(opCtx, ns, optionsWithUUID, true /*allocateDefaultSpace*/);
- massertNoTraceStatusOK(status);
+ massertStatusOK(
+ _dbEntry->createCollection(opCtx, ns, optionsWithUUID, true /*allocateDefaultSpace*/));
opCtx->recoveryUnit()->registerChange(new AddCollectionChange(opCtx, this, ns));
Collection* collection = _getOrCreateCollectionInstance(opCtx, nss);
diff --git a/src/mongo/db/ops/write_ops_exec.cpp b/src/mongo/db/ops/write_ops_exec.cpp
index 3108743f97c..666ca4efcd4 100644
--- a/src/mongo/db/ops/write_ops_exec.cpp
+++ b/src/mongo/db/ops/write_ops_exec.cpp
@@ -214,10 +214,10 @@ bool handleError(OperationContext* opCtx,
// testing, but it isn't severe enough that we should bring down the server if it
// happens in production.
dassert(staleConfigException);
- msgassertedNoTrace(35475,
- str::stream()
- << "Got a StaleConfig error but exception was the wrong type: "
- << demangleName(typeid(ex)));
+ msgasserted(35475,
+ str::stream()
+ << "Got a StaleConfig error but exception was the wrong type: "
+ << demangleName(typeid(ex)));
}
if (!opCtx->getClient()->isInDirectClient()) {
diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp
index da01612154e..a7ed3eba640 100644
--- a/src/mongo/db/repl/master_slave.cpp
+++ b/src/mongo/db/repl/master_slave.cpp
@@ -438,7 +438,7 @@ void ReplSource::forceResync(OperationContext* opCtx, const char* requester) {
if (!_connect(&oplogReader,
HostAndPort(hostName),
getGlobalReplicationCoordinator()->getMyRID())) {
- msgassertedNoTrace(14051, "unable to connect to resync");
+ msgasserted(14051, "unable to connect to resync");
}
bool ok = oplogReader.conn()->runCommand(
"admin", BSON("listDatabases" << 1), info, QueryOption_SlaveOk);
diff --git a/src/mongo/db/storage/mmap_v1/file_allocator.cpp b/src/mongo/db/storage/mmap_v1/file_allocator.cpp
index 460747cb5f9..d905adb2855 100644
--- a/src/mongo/db/storage/mmap_v1/file_allocator.cpp
+++ b/src/mongo/db/storage/mmap_v1/file_allocator.cpp
@@ -326,7 +326,7 @@ void FileAllocator::checkFailure() {
if (_failed) {
// we want to log the problem (diskfull.js expects it) but we do not want to dump a stack
// trace
- msgassertedNoTrace(12520, "new file allocation failure");
+ msgasserted(12520, "new file allocation failure");
}
}
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
index 2fd8b424604..43f4c7b545f 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
@@ -379,7 +379,7 @@ WiredTigerKVEngine::WiredTigerKVEngine(const std::string& canonicalName,
fassertFailedNoTrace(28717);
} else if (ret != 0) {
Status s(wtRCToStatus(ret));
- msgassertedNoTrace(28718, s.reason());
+ msgasserted(28718, s.reason());
}
invariantWTOK(_conn->close(_conn, NULL));
// After successful recovery, remove the journal directory.
@@ -403,7 +403,7 @@ WiredTigerKVEngine::WiredTigerKVEngine(const std::string& canonicalName,
fassertFailedNoTrace(28561);
} else if (ret != 0) {
Status s(wtRCToStatus(ret));
- msgassertedNoTrace(28595, s.reason());
+ msgasserted(28595, s.reason());
}
_sessionCache.reset(new WiredTigerSessionCache(this));
diff --git a/src/mongo/util/assert_util.cpp b/src/mongo/util/assert_util.cpp
index 34f8a379751..b1433b0e3b4 100644
--- a/src/mongo/util/assert_util.cpp
+++ b/src/mongo/util/assert_util.cpp
@@ -193,30 +193,12 @@ NOINLINE_DECL void msgassertedWithLocation(int msgid,
StringData msg,
const char* file,
unsigned line) {
- assertionCount.condrollover(++assertionCount.warning);
- error() << "Assertion: " << msgid << ":" << redact(msg) << ' ' << file << ' ' << dec << line
- << endl;
- logContext();
- throw AssertionException(msgid, msg);
-}
-
-NOINLINE_DECL void msgassertedNoTraceWithLocation(int msgid,
- StringData msg,
- const char* file,
- unsigned line) {
- assertionCount.condrollover(++assertionCount.warning);
+ assertionCount.condrollover(++assertionCount.msg);
error() << "Assertion: " << msgid << ":" << redact(msg) << ' ' << file << ' ' << dec << line
<< endl;
throw AssertionException(msgid, msg);
}
-void msgassertedNoTraceWithStatusWithLocation(int msgid,
- const Status& status,
- const char* file,
- unsigned line) {
- msgassertedNoTraceWithLocation(msgid, status.toString(), file, line);
-}
-
std::string causedBy(StringData e) {
constexpr auto prefix = " :: caused by :: "_sd;
std::string out;
diff --git a/src/mongo/util/assert_util.h b/src/mongo/util/assert_util.h
index e03ae0446d8..ac8713f4b22 100644
--- a/src/mongo/util/assert_util.h
+++ b/src/mongo/util/assert_util.h
@@ -163,25 +163,9 @@ MONGO_COMPILER_NORETURN void uassertedWithLocation(int msgid,
unsigned line);
/** msgassert and massert are for errors that are internal but have a well defined error text
- std::string. a stack trace is logged.
+ std::string.
*/
-#define msgassertedNoTrace MONGO_msgassertedNoTrace
-#define MONGO_msgassertedNoTrace(...) \
- ::mongo::msgassertedNoTraceWithLocation(__VA_ARGS__, __FILE__, __LINE__)
-MONGO_COMPILER_NORETURN void msgassertedNoTraceWithLocation(int msgid,
- StringData msg,
- const char* file,
- unsigned line);
-
-#define msgassertedNoTraceWithStatus MONGO_msgassertedNoTraceWithStatus
-#define MONGO_msgassertedNoTraceWithStatus(...) \
- ::mongo::msgassertedNoTraceWithStatusWithLocation(__VA_ARGS__, __FILE__, __LINE__)
-MONGO_COMPILER_NORETURN void msgassertedNoTraceWithStatusWithLocation(int msgid,
- const Status& status,
- const char* file,
- unsigned line);
-
#define msgasserted MONGO_msgasserted
#define MONGO_msgasserted(...) ::mongo::msgassertedWithLocation(__VA_ARGS__, __FILE__, __LINE__)
MONGO_COMPILER_NORETURN void msgassertedWithLocation(int msgid,
@@ -324,20 +308,6 @@ inline void massertStatusOKWithLocation(const Status& status, const char* file,
}
}
-#define massertNoTraceStatusOK MONGO_massertNoTraceStatusOK
-#define MONGO_massertNoTraceStatusOK(...) \
- ::mongo::massertNoTraceStatusOKWithLocation(__VA_ARGS__, __FILE__, __LINE__)
-inline void massertNoTraceStatusOKWithLocation(const Status& status,
- const char* file,
- unsigned line) {
- if (MONGO_unlikely(!status.isOK())) {
- [&]() MONGO_COMPILER_COLD_FUNCTION {
- msgassertedNoTraceWithLocation(status.code(), status.reason(), file, line);
- }();
- MONGO_COMPILER_UNREACHABLE;
- }
-}
-
/* same as massert except no msgid */
#define verify(expression) MONGO_verify(expression)
#define MONGO_verify(_Expression) \
diff --git a/src/mongo/util/assert_util_test.cpp b/src/mongo/util/assert_util_test.cpp
index a6a2f3a27c3..c369922c538 100644
--- a/src/mongo/util/assert_util_test.cpp
+++ b/src/mongo/util/assert_util_test.cpp
@@ -106,25 +106,8 @@ DEATH_TEST(MassertionTerminationTest, massertStatusOK, "Terminating with massert
massertStatusOK(Status(ErrorCodes::InternalError, "Terminating with massertStatusOK"));
}
-DEATH_TEST(MassertionTerminationTest,
- massertNoTraceStatusOK,
- "Terminating with massertNoTraceStatusOK") {
- massertNoTraceStatusOK(
- Status(ErrorCodes::InternalError, "Terminating with massertNoTraceStatusOK"));
-}
-
DEATH_TEST(MassertionTerminationTest, msgasserted, "Terminating with msgasserted") {
msgasserted(40215, "Terminating with msgasserted");
}
-DEATH_TEST(MassertionTerminationTest, msgassertedNoTrace, "Terminating with msgassertedNoTrace") {
- msgassertedNoTrace(40216, "Terminating with msgassertedNoTrace");
-}
-
-DEATH_TEST(MassertionTerminationTest,
- msgassertedNoTraceWithStatus,
- "Terminating with msgassertedNoTraceWithStatus") {
- msgassertedNoTraceWithStatus(
- 40217, Status(ErrorCodes::InternalError, "Terminating with msgassertedNoTraceWithStatus"));
-}
} // namespace
diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
index 11adf6785e6..c3debf377bd 100644
--- a/src/mongo/util/processinfo_linux.cpp
+++ b/src/mongo/util/processinfo_linux.cpp
@@ -73,7 +73,7 @@ public:
stringstream ss;
ss << "couldn't open [" << name << "] " << errnoWithDescription();
string s = ss.str();
- msgassertedNoTrace(13538, s.c_str());
+ msgasserted(13538, s.c_str());
}
int found = fscanf(f,
"%d %127s %c "