I am connecting to mongodb replicaset where I have write concern = 2 and readPreference is PrimaryOnly. I am seeing a lot of this exceptions currently.
Questions.
-
When I connect to a mongodb do I need to give the hostnames of all the mongo servers or just 1 is enough ?
-
This exception is coming for a write operation will it also come for read operation
Here is the exception
com.mongodb.MongoNotPrimaryException: Command failed with error 10107 (NotMaster): 'not master' on server xxx.hostname:port . The full response is {"operationTime": {"$timestamp": {"t": 1595902580, "i": 1}}, "ok": 0.0, "errmsg": "not master", "code": 10107, "codeName": "NotMaster", "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1595902580, "i": 1}}, "signature": {"hash": {"$binary": {"base64": "CtMA9l2pphTu5U2AmiPo1MgOmn0=", "subType": "00"}}, "keyId": 6803004021045985281}}}
at com.mongodb.internal.connection.ProtocolHelper.createSpecialException(ProtocolHelper.java:244) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:171) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:302) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:258) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.UsageTrackingInternalConnection.sendAndReceive(UsageTrackingInternalConnection.java:99) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.sendAndReceive(DefaultConnectionPool.java:500) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.CommandProtocolImpl.execute(CommandProtocolImpl.java:71) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:224) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:202) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.DefaultServerConnection.command(DefaultServerConnection.java:118) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.connection.DefaultServerConnection.command(DefaultServerConnection.java:110) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.operation.CommandOperationHelper.executeWriteCommand(CommandOperationHelper.java:369) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.operation.CommandOperationHelper.executeWriteCommand(CommandOperationHelper.java:360) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.operation.CommandOperationHelper.executeCommand(CommandOperationHelper.java:284) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.operation.CommandOperationHelper.executeCommand(CommandOperationHelper.java:277) ~[mongodb-driver-core-4.0.4.jar!/:?]
at com.mongodb.internal.operation.CreateIndexesOperation$1.call(CreateIndexesOperation.java:171) ~[mongodb-driver-core-4.0.4.jar!/:?]