Add the following three test cases to check that mongos correctly marks a mongod as down (marks its type as unknown in its server description):
1. After mongos receives one isMaster response from a node, cease all isMaster replies on this node. MongoS should mark this node as down after connectTimeoutMS + maxAwaitTimeMS.
2. After mongos receives one isMaster response from a node, kill the node.
3. After mongos receives one isMaster response from a node, make mongod respond with 'ok : 0' in all future isMaster replies.
Add a fourth test case to check that mongos does not mark a mongod as down if mongod responds with 'ok : 1' but without the 'moreToCome' bit set. This test should verify that the client does not mark the server unknown and continues monitoring the mongod after it ends the isMaster stream.
- is related to
-
SERVER-47932 doNotSetMoreToCome failpoint should end isMaster streams
- Investigating