2
2
3
3
package com .mongodb ;
4
4
5
- import java .io .*;
6
- import java .net .*;
7
- import java .util .*;
8
- import java .util .logging .*;
5
+ import java .net .UnknownHostException ;
6
+ import java .util .ArrayList ;
7
+ import java .util .Collections ;
8
+ import java .util .HashSet ;
9
+ import java .util .Iterator ;
10
+ import java .util .LinkedList ;
11
+ import java .util .List ;
12
+ import java .util .Random ;
13
+ import java .util .Set ;
14
+ import java .util .logging .Level ;
15
+ import java .util .logging .Logger ;
9
16
10
17
/**
11
18
* keeps replica set status
@@ -178,6 +185,18 @@ synchronized void update(Set<Node> seenNodes){
178
185
maxBsonObjectSize = Bytes .MAX_OBJECT_SIZE ;
179
186
}
180
187
188
+ if (res .containsField ("setName" )) {
189
+ String setName = res .get ( "setName" ).toString ();
190
+ if ( _setName == null ){
191
+ _setName = setName ;
192
+ _logger = Logger .getLogger ( _rootLogger .getName () + "." + setName );
193
+ }
194
+ else if ( !_setName .equals ( setName ) ){
195
+ _logger .log ( Level .SEVERE , "mis match set name old: " + _setName + " new: " + setName );
196
+ return ;
197
+ }
198
+ }
199
+
181
200
}
182
201
catch ( MongoException e ){
183
202
Throwable root = e ;
@@ -193,44 +212,6 @@ synchronized void update(Set<Node> seenNodes){
193
212
194
213
if ( ! _isMaster )
195
214
return ;
196
-
197
- try {
198
- DB db = _mongo .getDB ("local" );
199
- _port .checkAuth (db );
200
- DBObject config = _port .findOne ( db , "system.replset" , new BasicDBObject () );
201
- if ( config == null ){
202
- // probably a replica pair
203
- // TODO: add this in when pairs are really gone
204
- //_logger.log( Level.SEVERE , "no replset config!" );
205
- } else if (config .get ("$err" ) != null && UNAUTHENTICATED_ERROR_CODE == (Integer )config .get ("code" )) {
206
- _logger .log ( Level .WARNING , "Replica Set updater cannot get results, call authenticate on 'local' or 'admin' db" );
207
- } else {
208
-
209
- String setName = config .get ( "_id" ).toString ();
210
- if ( _setName == null ){
211
- _setName = setName ;
212
- _logger = Logger .getLogger ( _rootLogger .getName () + "." + setName );
213
- }
214
- else if ( !_setName .equals ( setName ) ){
215
- _logger .log ( Level .SEVERE , "mis match set name old: " + _setName + " new: " + setName );
216
- return ;
217
- }
218
-
219
- // TODO: look at members
220
- }
221
- } catch ( MongoException e ){
222
- if ( _setName != null ){
223
- // this probably means the master is busy, so going to ignore
224
- }
225
- else {
226
- _logger .log ( Level .SEVERE , "can't get initial config from node: " + _addr , e );
227
- }
228
- }
229
- catch ( Exception e ){
230
- _logger .log ( Level .SEVERE , "unexpected error getting config from node: " + _addr , e );
231
- }
232
-
233
-
234
215
}
235
216
236
217
public boolean master (){
0 commit comments