description: "Multiple RSOther responses from the same server with different hosts" uri: "mongodb://a,x/" phases: # Phase 1 - responses: [] outcome: events: - topology_opening_event: topologyId: "42" - topology_description_changed_event: topologyId: "42" previousDescription: topologyType: "Unknown" servers: [] newDescription: topologyType: "Unknown" servers: - address: "a:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" - address: "x:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" - server_opening_event: topologyId: "42" address: "a:27017" - server_opening_event: topologyId: "42" address: "x:27017" # Phase 2 - first response from hidden member that thinks b is the primary - responses: - - "a:27017" - { ok: 1, ismaster: false, hidden: true, setName: "rs", setVersion: 1.0, primary: "b:27017", hosts: [ "b:27017" ], minWireVersion: 0, maxWireVersion: 4 } outcome: events: - server_description_changed_event: topologyId: "42" address: "a:27017" previousDescription: address: "a:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" newDescription: address: "a:27017" arbiters: [] hosts: [ "b:27017" ] passives: [] primary: "b:27017" setName: "rs" type: "RSOther" - topology_description_changed_event: topologyId: "42" previousDescription: topologyType: "Unknown" servers: - address: "a:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" - address: "x:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" newDescription: topologyType: "ReplicaSetNoPrimary" setName: "rs" servers: - address: "a:27017" arbiters: [] hosts: [ "b:27017" ] passives: [] primary: "b:27017" setName: "rs" type: "RSOther" - address: "b:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" - address: "x:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" - server_opening_event: topologyId: "42" address: "b:27017" # Phase 3 - second response from a, now it thinks c is primary. # setVersion on a should have changed, but since we don't look at setVersion # on non-primaries it's not included in this test. # Servers prior to 2.6.10 do not have setVersion also. - responses: - - "a:27017" - { ok: 1, ismaster: false, hidden: true, setName: "rs", setVersion: 1.0, primary: "c:27017", hosts: [ "c:27017" ], minWireVersion: 0, maxWireVersion: 4 } outcome: events: - server_description_changed_event: topologyId: "42" address: "a:27017" previousDescription: address: "a:27017" arbiters: [] hosts: [ "b:27017" ] passives: [] primary: "b:27017" setName: "rs" type: "RSOther" newDescription: address: "a:27017" arbiters: [] hosts: [ "c:27017" ] passives: [] primary: "c:27017" setName: "rs" type: "RSOther" - topology_description_changed_event: topologyId: "42" previousDescription: topologyType: "ReplicaSetNoPrimary" setName: "rs" servers: - address: "a:27017" arbiters: [] hosts: [ "b:27017" ] passives: [] primary: "b:27017" setName: "rs" type: "RSOther" - address: "b:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" - address: "x:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" newDescription: topologyType: "ReplicaSetNoPrimary" setName: "rs" servers: - address: "a:27017" arbiters: [] hosts: [ "c:27017" ] passives: [] primary: "c:27017" setName: "rs" type: "RSOther" - address: "b:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" - address: "c:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" - address: "x:27017" arbiters: [] hosts: [] passives: [] type: "Unknown" - server_opening_event: topologyId: "42" address: "c:27017"