|
So, you are correct that there isn't ever a need to know the state of an arbiter. However, heartbeats are used for more than just getting the state of a server. They are also used for discovering newly added or recently removed members of a replica set. Yes, this can also be discovered from the other members of a replica set, but there is always the chance that the arbiter is the only server alive that is capable of telling us about a new server. As such, it is imperative that heartbeats to an arbiter continue.
In addition, there is a bit of a chicken and egg problem. Depending on how we discovered the arbiter (connection string vs. another member's heartbeat), we may not know it's an arbiter before attempting to talk to it.
All that to say, we are going to mark this ticket as Works as Designed and an arbiter, while not bearing any data, should be considered equal to that of a data-bearing replica set member.
|