summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2011-03-08 13:45:58 -0500
committerEliot Horowitz <eliot@10gen.com>2011-03-08 14:12:44 -0500
commitec9dbe2b515440a581bcca1b1d9777541f4543ee (patch)
tree788dc0782c38c4dae059365ae79696a7479a98c8
parent085553d8dde1f90ca82d1ef54bb325d6fcaabca5 (diff)
downloadmongo-ec9dbe2b515440a581bcca1b1d9777541f4543ee.tar.gz
don't return local in listDatabases sharded 180 SERVER-2686
-rw-r--r--jstests/slowNightly/sharding_rs1.js9
-rw-r--r--s/commands_admin.cpp7
2 files changed, 16 insertions, 0 deletions
diff --git a/jstests/slowNightly/sharding_rs1.js b/jstests/slowNightly/sharding_rs1.js
index be198c5f392..4ad126ee80e 100644
--- a/jstests/slowNightly/sharding_rs1.js
+++ b/jstests/slowNightly/sharding_rs1.js
@@ -43,6 +43,15 @@ function diff(){
assert.lt( 20 , diff() , "big differential here" );
print( diff() )
+{
+ // quick test for SERVER-2686
+ var mydbs = db.getMongo().getDBs().databases;
+ for ( var i=0; i<mydbs.length; i++ ) {
+ assert( mydbs[i].name != "local" , "mongos listDatabases can't return local" );
+ }
+}
+
+
assert.soon( function(){
var d = diff();
return d < 5;
diff --git a/s/commands_admin.cpp b/s/commands_admin.cpp
index 8add75294b3..532161a5d2f 100644
--- a/s/commands_admin.cpp
+++ b/s/commands_admin.cpp
@@ -959,6 +959,13 @@ namespace mongo {
BSONArrayBuilder bb( result.subarrayStart( "databases" ) );
for ( map<string,long long>::iterator i=sizes.begin(); i!=sizes.end(); ++i ) {
string name = i->first;
+
+ if ( name == "local" ) {
+ // we don't return local
+ // since all shards have their own independant local
+ continue;
+ }
+
long long size = i->second;
totalSize += size;