bson/testdata/server-discovery-and-monitoring/rs/topology_version_greater.yml
2025-03-17 20:58:26 +01:00

195 lines
5.6 KiB
YAML

description: "Primary with newer topologyVersion"
uri: "mongodb://a/?replicaSet=rs"
phases: [
# Primary A is discovered
{
responses: [
["a:27017", {
ok: 1,
helloOk: true,
isWritablePrimary: true,
hosts: ["a:27017"],
setName: "rs",
minWireVersion: 0,
maxWireVersion: 9,
topologyVersion: {'processId': {"$oid": "000000000000000000000001"}, "counter": {"$numberLong": "1"}}
}]
],
outcome: {
servers: {
"a:27017": {
type: "RSPrimary",
setName: "rs",
topologyVersion: {'processId': {"$oid": "000000000000000000000001"}, "counter": {"$numberLong": "1"}}
}
},
topologyType: "ReplicaSetWithPrimary",
logicalSessionTimeoutMinutes: null,
setName: "rs",
}
},
# A responds with a greater topologyVersion counter, we should process the response.
{
responses: [
["a:27017", {
ok: 1,
helloOk: true,
isWritablePrimary: true,
hosts: ["a:27017", "b:27017"],
setName: "rs",
minWireVersion: 0,
maxWireVersion: 9,
topologyVersion: {'processId': {"$oid": "000000000000000000000001"}, "counter": {"$numberLong": "2"}}
}]
],
outcome: {
servers: {
"a:27017": {
type: "RSPrimary",
setName: "rs",
topologyVersion: {'processId': {"$oid": "000000000000000000000001"}, "counter": {"$numberLong": "2"}}
},
"b:27017": {
type: "Unknown",
topologyVersion: null
}
},
topologyType: "ReplicaSetWithPrimary",
logicalSessionTimeoutMinutes: null,
setName: "rs",
}
},
# A responds with a different topologyVersion processId, we should process the response.
{
responses: [
["a:27017", {
ok: 1,
helloOk: true,
isWritablePrimary: true,
hosts: ["a:27017", "c:27017"],
setName: "rs",
minWireVersion: 0,
maxWireVersion: 9,
topologyVersion: {'processId': {"$oid": "000000000000000000000002"}, "counter": {"$numberLong": "0"}}
}]
],
outcome: {
servers: {
"a:27017": {
type: "RSPrimary",
setName: "rs",
topologyVersion: {'processId': {"$oid": "000000000000000000000002"}, "counter": {"$numberLong": "0"}}
},
"c:27017": {
type: "Unknown",
topologyVersion: null
}
},
topologyType: "ReplicaSetWithPrimary",
logicalSessionTimeoutMinutes: null,
setName: "rs",
}
},
# A responds without a topologyVersion, we should process the response.
{
responses: [
["a:27017", {
ok: 1,
helloOk: true,
isWritablePrimary: true,
hosts: ["a:27017", "d:27017"],
setName: "rs",
minWireVersion: 0,
maxWireVersion: 9
}]
],
outcome: {
servers: {
"a:27017": {
type: "RSPrimary",
setName: "rs",
topologyVersion: null
},
"d:27017": {
type: "Unknown",
topologyVersion: null
}
},
topologyType: "ReplicaSetWithPrimary",
logicalSessionTimeoutMinutes: null,
setName: "rs",
}
},
# A responds with a topologyVersion again, we should process the response.
{
responses: [
["a:27017", {
ok: 1,
helloOk: true,
isWritablePrimary: true,
hosts: ["a:27017", "e:27017"],
setName: "rs",
minWireVersion: 0,
maxWireVersion: 9,
topologyVersion: {'processId': {"$oid": "000000000000000000000003"}, "counter": {"$numberLong": "0"}}
}]
],
outcome: {
servers: {
"a:27017": {
type: "RSPrimary",
setName: "rs",
topologyVersion: {'processId': {"$oid": "000000000000000000000003"}, "counter": {"$numberLong": "0"}}
},
"e:27017": {
type: "Unknown",
topologyVersion: null
}
},
topologyType: "ReplicaSetWithPrimary",
logicalSessionTimeoutMinutes: null,
setName: "rs",
}
},
# A responds with a network error, we should process the response.
{
responses: [
["a:27017", {}]
],
outcome: {
servers: {
"a:27017": {
type: "Unknown",
topologyVersion: null
},
"e:27017": {
type: "Unknown",
topologyVersion: null
}
},
topologyType: "ReplicaSetNoPrimary",
logicalSessionTimeoutMinutes: null,
setName: "rs",
}
}
]