summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwight <dwight@10gen.com>2010-08-04 17:03:14 -0400
committerDwight <dwight@10gen.com>2010-08-04 17:03:14 -0400
commit4c3c94e705e833f93dd6a2f0ebc4b4067cd0e816 (patch)
tree6fd78fd8f0ed5216fd1f9435c87b0a9fb5bc958f
parenta78d339bb8f984f8a35ea8e78f348bc008ccb39d (diff)
parent8fc8c8c31516dd7062cab857886520c74ec87147 (diff)
downloadmongo-4c3c94e705e833f93dd6a2f0ebc4b4067cd0e816.tar.gz
Merge branch 'master' of github.com:mongodb/mongo
-rw-r--r--SConstruct4
-rw-r--r--db/repl.cpp10
-rw-r--r--jstests/replsets/replsetrestart2.js2
-rw-r--r--shell/mongo_vstudio.cpp12
-rw-r--r--shell/servers.js4
5 files changed, 22 insertions, 10 deletions
diff --git a/SConstruct b/SConstruct
index b7590940099..88d997a898d 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1118,13 +1118,13 @@ def jsToH(target, source, env):
h += ";\n\n"
- out = open( outFile , 'w' )
+ out = open( outFile , 'wb' )
out.write( h )
out.close()
# mongo_vstudio.cpp is in git as the .vcproj doesn't generate this file.
if outFile.find( "mongo.cpp" ) >= 0:
- out = open( outFile.replace( "mongo" , "mongo_vstudio" ) , 'w' )
+ out = open( outFile.replace( "mongo" , "mongo_vstudio" ) , 'wb' )
out.write( h )
out.close()
diff --git a/db/repl.cpp b/db/repl.cpp
index f0bd02f4cd8..8cdd5454dad 100644
--- a/db/repl.cpp
+++ b/db/repl.cpp
@@ -290,11 +290,13 @@ namespace mongo {
}
}
else {
- result.append("ismaster", replSettings.master || replSettings.slave == 0 ? 1 : 0);
- //result.append("msg", "not paired");
+ result.appendBool("ismaster", _isMaster() );
}
-
- if ( level ){
+
+ if ( level && replSet ){
+ result.append( "info" , "is replica set" );
+ }
+ else if ( level ){
BSONObjBuilder sources( result.subarrayStart( "sources" ) );
readlock lk( "local.sources" );
diff --git a/jstests/replsets/replsetrestart2.js b/jstests/replsets/replsetrestart2.js
index a383b341b4f..324bd3707a1 100644
--- a/jstests/replsets/replsetrestart2.js
+++ b/jstests/replsets/replsetrestart2.js
@@ -27,7 +27,7 @@ doTest = function( signal ) {
var master = replTest.getMaster();
var config = master.getDB("local").system.replset.findOne();
- replTest.stopSet( signal );
+ replTest.stopSet( signal , true );
replTest.restart(0);
replTest.restart(1);
diff --git a/shell/mongo_vstudio.cpp b/shell/mongo_vstudio.cpp
index 8b23ef15244..39ed27550a4 100644
--- a/shell/mongo_vstudio.cpp
+++ b/shell/mongo_vstudio.cpp
@@ -1372,7 +1372,17 @@ const char * jsconcatcode =
"var e = n.next();\n"
"if (!verbose) {\n"
"delete e.allPlans;\n"
- "delete e.oldPlan;}\n"
+ "delete e.oldPlan;\n"
+ "if (e.shards){\n"
+ "for (var key in e.shards){\n"
+ "var s = e.shards[key];\n"
+ "if(s.length === undefined){\n"
+ "delete s.allPlans;\n"
+ "delete s.oldPlan;\n"
+ "} else {\n"
+ "for (var i=0; i < s.length; i++){\n"
+ "delete s[i].allPlans;\n"
+ "delete s[i].oldPlan;}}}}}\n"
"return e;}\n"
"DBQuery.prototype.snapshot = function(){\n"
"this._ensureSpecial();\n"
diff --git a/shell/servers.js b/shell/servers.js
index c8b70e1802c..2671600ea08 100644
--- a/shell/servers.js
+++ b/shell/servers.js
@@ -1345,11 +1345,11 @@ ReplSetTest.prototype.stop = function( n , signal ){
return stopMongod( port , signal || 15 );
}
-ReplSetTest.prototype.stopSet = function( signal ) {
+ReplSetTest.prototype.stopSet = function( signal , forRestart ) {
for(i=0; i < this.ports.length; i++) {
this.stop( i, signal );
}
- if ( this._alldbpaths ){
+ if ( ! forRestart && this._alldbpaths ){
for( i=0; i<this._alldbpaths.length; i++ ){
resetDbpath( this._alldbpaths[i] );
}