diff options
author | Eliot Horowitz <eliot@10gen.com> | 2011-03-08 13:45:58 -0500 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2011-03-08 14:12:44 -0500 |
commit | ec9dbe2b515440a581bcca1b1d9777541f4543ee (patch) | |
tree | 788dc0782c38c4dae059365ae79696a7479a98c8 | |
parent | 085553d8dde1f90ca82d1ef54bb325d6fcaabca5 (diff) | |
download | mongo-ec9dbe2b515440a581bcca1b1d9777541f4543ee.tar.gz |
don't return local in listDatabases sharded 180 SERVER-2686
-rw-r--r-- | jstests/slowNightly/sharding_rs1.js | 9 | ||||
-rw-r--r-- | s/commands_admin.cpp | 7 |
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; |