diff options
author | Eliot Horowitz <eliot@10gen.com> | 2013-06-05 14:29:52 -0400 |
---|---|---|
committer | Dan Pasette <dan@10gen.com> | 2013-06-19 19:01:16 -0400 |
commit | 310645dc7ba40a0ff3a48a7d3660d01e3e6d5da7 (patch) | |
tree | 01477b3edfa089824bedd0c3e9a69ab6344d92b1 | |
parent | ff8827be356c9f443dd1cac252f29634a89cd60b (diff) | |
download | mongo-310645dc7ba40a0ff3a48a7d3660d01e3e6d5da7.tar.gz |
SERVER-5442: use journal commit instead of fsync command for config server writes
-rw-r--r-- | src/mongo/client/syncclusterconnection.cpp | 20 |
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; } |