MongoDB hidden node still receiving connections I'm not sure if this question been asked before or if the following behavior of MongoDB is normal. Searching online output no results to this scenario.

Initially, we had a 3 node deployment, 1 Primary, 1 Secondary, and 1 Arbiter.

We wanted to add a ReadOnly replica to the cluster and remove the Arbiter node as well in the process. We added the following to the new node:

priority: 0
hidden: true
votes: 1
And removed the Arbiter in the same reconfiguration process so we always have 3 voting members and it leaves us with 1 Primary and 1 Secondary and 1 ReadOnly Node.

The complete process went through smoothly, however, we still end up seeing connections to the ReadOnly replica.

But when checking via db.currentOp(), no queries show up.

Based on the documentation on MongoDB website,


  Hidden members are part of a replica set but cannot become primary and
  are invisible to client applications.


Is there a way to investigate why there are connections coming in? And if this is normal behavior?

EDIT: (for further clarification)

Assuming the following:

MongoDB A (Primary): 192.168.1.50

MongoDB B (Secondary): 192.168.1.51

MongoDB C (Hidden): 192.168.1.52

Client A: 192.168.1.60

Client B: 192.168.1.61

In the logs, we see the following:

2018-03-12T07:19:11.607+0000 I ACCESS   [conn119719] Successfully authenticated as principal SOMEUSER on SOMEDB
2018-03-12T07:19:11.607+0000 I NETWORK  [conn119719] end connection 192.168.1.60 (2 connections now open)
2018-03-12T07:19:17.087+0000 I NETWORK  [listener] connection accepted from 192.168.1.60:47806 #119720 (3 connections now open)
2018-03-12T07:19:17.371+0000 I ACCESS   [conn119720] Successfully authenticated as principal SOMEUSER on SOMEDB


So if the other MongoDB instances were connecting, that would be fine, but my question is regarding why the clients are able to connect even when the hidden option is true and if that behavior is normal.

EDIT2:

To further clarify, the connection string does not include MongoDB C.

Connection String Format:

mongodb://mongodb-a.domain:27017,mongodb-b.domain:27017/?replicaSet=MyReplica


Hence, the client does not know MongoDB C exists and by theory, it should be hidden, but in our case it's not.
Yes, it is normal behavior. Those connections are from other mongod nodes, because every node "watches" every other node to see who is reachable. This because election must be started even in the situation where secondary node disappear from replica set.