195 lines
5.6 KiB
YAML
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",
|
|
}
|
|
}
|
|
]
|