Closed
Description
MongoDB driver 3.3.2 is unable to connect to mongodb replicaSet if one of member machine is down.
Note: Same issue is described in https://jira.mongodb.org/browse/NODE-2231
Steps to reproduce
- Create mongodb replicaSet with 3 member.
- connect parse-server with mongodb providing all 3 member host name in uri.
- stop PRIMARY mongodb server
- MongoDB is able to select new PRIMARY from the available 2 member but parser-server is unable to connect to new PRIMARY mongodb node.
Note: Even we restart parse-server when one of the 3 member replicaSet mongodb is down and in mongo connection URI we have provided hostname for all the 3 member. It is not able to connect mongodb.
Expected Results
When one mongoDB replicaSet member goes down. It should automatically connect to new primary mongodb server.
Actual Outcome
Error: connect ECONNREFUSED x.x.x.x:port
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1128:14) {
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {}
}
Environment Setup
-
Server
- parse-server : 3.9.0
- Operating System: Ubuntu 18.04
- Hardware: R4.2x.large
- Localhost or remote server? (AWS, Heroku, Azure, Digital Ocean, etc): AWS
-
Database
- MongoDB version: 4.2 (also tested on 4.0.9)
- Storage engine: WireTigger
- Hardware: R4.2x.large
- Localhost or remote server? (AWS, mLab, ObjectRocket, Digital Ocean, etc): AWS