summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2009-02-11 10:37:06 -0500
committerEliot Horowitz <eliot@10gen.com>2009-02-11 10:37:06 -0500
commit095a9565758ec7af3d9b83c66e85265bd6717e10 (patch)
treebc02c3e8cae09247f3a9480229350030b5c2619f
parentba8b57c15881ac8de4348aa35e375bc5394ce0b3 (diff)
parent86b5efcd1efcbac87829aea341078c5cd38a5127 (diff)
downloadmongo-095a9565758ec7af3d9b83c66e85265bd6717e10.tar.gz
Merge branch 'master' of git.10gen.com:/data/gitroot/p
-rw-r--r--db/db.h2
-rw-r--r--db/db.sln1
-rw-r--r--db/repl.cpp8
3 files changed, 7 insertions, 4 deletions
diff --git a/db/db.h b/db/db.h
index e98cc395374..8226fc29fcb 100644
--- a/db/db.h
+++ b/db/db.h
@@ -188,13 +188,13 @@ namespace mongo {
clientname = database->name;
clientpath = database->path;
}
+ Top::clientStop();
dbMutexInfo.leaving();
#if BOOST_VERSION >= 103500
dbMutex.unlock();
#else
boost::detail::thread::lock_ops<boost::mutex>::unlock(dbMutex);
#endif
- Top::clientStop();
}
~dbtemprelease() {
#if BOOST_VERSION >= 103500
diff --git a/db/db.sln b/db/db.sln
index 8d12cbf4cf6..bdf1581bb8e 100644
--- a/db/db.sln
+++ b/db/db.sln
@@ -33,7 +33,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dbtests", "dbtests", "{C72E
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shell", "shell", "{2CABB3B8-C9A6-478D-9463-0B37799ED708}"
ProjectSection(SolutionItems) = preProject
- ..\shell\dbshell.cpp = ..\shell\dbshell.cpp
..\shell\ShellUtils.cpp = ..\shell\ShellUtils.cpp
EndProjectSection
EndProject
diff --git a/db/repl.cpp b/db/repl.cpp
index 5fe55c3fa75..85aa7299e3a 100644
--- a/db/repl.cpp
+++ b/db/repl.cpp
@@ -1136,14 +1136,18 @@ namespace mongo {
}
catch ( AssertionException& e ) {
if ( e.severe() ) {
- log() << "replMain caught AssertionException, sleeping 1 minutes" << endl;
+ log() << "replMain exception " << e.what() << ", sleeping 1 minutes" << endl;
return 60;
}
else {
- log() << e.toString() << '\n';
+ log() << "replMain exception " << e.what() << '\n';
}
replInfo = "replMain caught AssertionException";
}
+ catch ( ... ) {
+ log() << "unexpected assertion during replication. replication will halt" << endl;
+ replAllDead = "caught unexpected assertion during replication";
+ }
if ( !ok )
s->resetConnection();
}