summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2013-06-05 14:29:52 -0400
committerDan Pasette <dan@10gen.com>2013-06-19 19:01:16 -0400
commit310645dc7ba40a0ff3a48a7d3660d01e3e6d5da7 (patch)
tree01477b3edfa089824bedd0c3e9a69ab6344d92b1
parentff8827be356c9f443dd1cac252f29634a89cd60b (diff)
downloadmongo-310645dc7ba40a0ff3a48a7d3660d01e3e6d5da7.tar.gz
SERVER-5442: use journal commit instead of fsync command for config server writes
-rw-r--r--src/mongo/client/syncclusterconnection.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/mongo/client/syncclusterconnection.cpp b/src/mongo/client/syncclusterconnection.cpp
index 7bb538079eb..9216027ac9a 100644
--- a/src/mongo/client/syncclusterconnection.cpp
+++ b/src/mongo/client/syncclusterconnection.cpp
@@ -82,22 +82,22 @@ namespace mongo {
bool ok = true;
errmsg = "";
for ( size_t i=0; i<_conns.size(); i++ ) {
- BSONObj res;
+ string singleErr;
try {
- if ( _conns[i]->simpleCommand( "admin" , &res , "fsync" ) )
+ // this is fsync=true
+ // which with journalling on is a journal commit
+ // without journalling, is a full fsync
+ singleErr = _conns[i]->getLastError( true );
+
+ if ( singleErr.size() == 0 )
continue;
+
}
catch ( DBException& e ) {
- errmsg += e.toString();
- }
- catch ( std::exception& e ) {
- errmsg += e.what();
- }
- catch ( ... ) {
- warning() << "unknown exception in SyncClusterConnection::fsync" << endl;
+ singleErr = e.toString();
}
ok = false;
- errmsg += " " + _conns[i]->toString() + ":" + res.toString();
+ errmsg += " " + _conns[i]->toString() + ":" + singleErr;
}
return ok;
}