summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgregs <greg@10gen.com>2011-11-04 16:10:09 -0400
committergregs <greg@10gen.com>2011-11-09 10:10:46 -0500
commit50349cb7601adac56b9aad94bf3a4489533abaf2 (patch)
tree8b9af4064171daee896d593db3ec47895f397e0c
parentd2feeb87c806e9649c79cb229261592225282bba (diff)
downloadmongo-50349cb7601adac56b9aad94bf3a4489533abaf2.tar.gz
SERVER-4209 remove warning for sharded sub-conn, this is expected now
-rw-r--r--s/client.cpp4
-rw-r--r--s/shard.h8
-rw-r--r--s/shardconnection.cpp47
3 files changed, 15 insertions, 44 deletions
diff --git a/s/client.cpp b/s/client.cpp
index c5404f7982a..f2370a43c44 100644
--- a/s/client.cpp
+++ b/s/client.cpp
@@ -141,7 +141,7 @@ namespace mongo {
if ( shards->size() == 1 ) {
string theShard = *(shards->begin() );
- ShardConnection conn( theShard , "", true );
+ ShardConnection conn( theShard , "" );
BSONObj res;
bool ok = false;
@@ -224,7 +224,7 @@ namespace mongo {
for ( set<string>::iterator i = shards->begin(); i != shards->end(); i++ ) {
string theShard = *i;
bbb.append( theShard );
- ShardConnection conn( theShard , "", true );
+ ShardConnection conn( theShard , "" );
BSONObj res;
bool ok = false;
try {
diff --git a/s/shard.h b/s/shard.h
index 152e7e1e08f..9c12ea1a2ac 100644
--- a/s/shard.h
+++ b/s/shard.h
@@ -213,9 +213,9 @@ namespace mongo {
class ShardConnection : public AScopedConnection {
public:
- ShardConnection( const Shard * s , const string& ns, bool ignoreDirect = false );
- ShardConnection( const Shard& s , const string& ns, bool ignoreDirect = false );
- ShardConnection( const string& addr , const string& ns, bool ignoreDirect = false );
+ ShardConnection( const Shard * s , const string& ns );
+ ShardConnection( const Shard& s , const string& ns );
+ ShardConnection( const string& addr , const string& ns );
~ShardConnection();
@@ -267,7 +267,7 @@ namespace mongo {
static void checkMyConnectionVersions( const string & ns );
private:
- void _init( bool ignoreDirect = false );
+ void _init();
void _finishInit();
bool _finishedInit;
diff --git a/s/shardconnection.cpp b/s/shardconnection.cpp
index 964229a97b8..52ecabeae27 100644
--- a/s/shardconnection.cpp
+++ b/s/shardconnection.cpp
@@ -53,9 +53,6 @@ namespace mongo {
DBConnectionPool shardConnectionPool;
- // Only print the non-top-level-shard-conn warning once if not verbose
- volatile bool printedShardConnWarning = false;
-
/**
* holds all the actual db connections for a client to various servers
* 1 per thread, so doesn't have to be thread safe
@@ -93,35 +90,9 @@ namespace mongo {
_hosts.clear();
}
- DBClientBase * get( const string& addr , const string& ns, bool ignoreDirect = false ) {
+ DBClientBase * get( const string& addr , const string& ns ) {
_check( ns );
- // Determine if non-shard conn is RS member for warning
- // All shards added to _hosts if not present in _check()
- if( ( logLevel >= 1 || ! printedShardConnWarning ) && ! ignoreDirect && _hosts.find( addr ) == _hosts.end() ){
-
- vector<Shard> all;
- Shard::getAllShards( all );
-
- bool isRSMember = false;
- string parentShard;
- for ( unsigned i = 0; i < all.size(); i++ ) {
- string connString = all[i].getConnString();
- if( connString.find( addr ) != string::npos && connString.find( '/' ) != string::npos ){
- isRSMember = true;
- parentShard = connString;
- break;
- }
- }
-
- if( isRSMember ){
- printedShardConnWarning = true;
- warning() << "adding shard sub-connection " << addr << " (parent " << parentShard << ") as sharded, this is safe but unexpected" << endl;
- printStackTrace();
- }
- }
-
-
Status* &s = _hosts[addr];
if ( ! s )
s = new Status();
@@ -210,24 +181,24 @@ namespace mongo {
thread_specific_ptr<ClientConnections> ClientConnections::_perThread;
- ShardConnection::ShardConnection( const Shard * s , const string& ns, bool ignoreDirect )
+ ShardConnection::ShardConnection( const Shard * s , const string& ns )
: _addr( s->getConnString() ) , _ns( ns ) {
- _init( ignoreDirect );
+ _init();
}
- ShardConnection::ShardConnection( const Shard& s , const string& ns, bool ignoreDirect )
+ ShardConnection::ShardConnection( const Shard& s , const string& ns )
: _addr( s.getConnString() ) , _ns( ns ) {
- _init( ignoreDirect );
+ _init();
}
- ShardConnection::ShardConnection( const string& addr , const string& ns, bool ignoreDirect )
+ ShardConnection::ShardConnection( const string& addr , const string& ns )
: _addr( addr ) , _ns( ns ) {
- _init( ignoreDirect );
+ _init();
}
- void ShardConnection::_init( bool ignoreDirect ) {
+ void ShardConnection::_init() {
assert( _addr.size() );
- _conn = ClientConnections::threadInstance()->get( _addr , _ns, ignoreDirect );
+ _conn = ClientConnections::threadInstance()->get( _addr , _ns );
_finishedInit = false;
}