250 lines
7.0 KiB
YAML
250 lines
7.0 KiB
YAML
description: "Parse logicalSessionTimeoutMinutes from replica set"
|
|
|
|
uri: "mongodb://a/?replicaSet=rs"
|
|
|
|
phases: [
|
|
# An RSPrimary responds with a non-null logicalSessionTimeoutMinutes
|
|
{
|
|
responses: [
|
|
["a:27017", {
|
|
ok: 1,
|
|
helloOk: true,
|
|
isWritablePrimary: true,
|
|
hosts: ["a:27017", "b:27017", "c:27017", "d:27017", "e:27017"],
|
|
setName: "rs",
|
|
logicalSessionTimeoutMinutes: 3,
|
|
minWireVersion: 0,
|
|
maxWireVersion: 6
|
|
}],
|
|
],
|
|
outcome: {
|
|
servers: {
|
|
"a:27017": {
|
|
type: "RSPrimary",
|
|
setName: "rs"
|
|
},
|
|
"b:27017": {
|
|
type: "Unknown",
|
|
},
|
|
"c:27017": {
|
|
type: "Unknown",
|
|
},
|
|
"d:27017": {
|
|
type: "Unknown",
|
|
},
|
|
"e:27017": {
|
|
type: "Unknown",
|
|
}
|
|
|
|
},
|
|
topologyType: "ReplicaSetWithPrimary",
|
|
logicalSessionTimeoutMinutes: 3,
|
|
setName: "rs",
|
|
}
|
|
},
|
|
# An RSGhost responds without a logicalSessionTimeoutMinutes
|
|
{
|
|
responses: [
|
|
["d:27017", {
|
|
ok: 1,
|
|
helloOk: true,
|
|
isWritablePrimary: false,
|
|
isreplicaset: true,
|
|
minWireVersion: 0,
|
|
maxWireVersion: 6
|
|
}],
|
|
],
|
|
outcome: {
|
|
servers: {
|
|
"a:27017": {
|
|
type: "RSPrimary",
|
|
setName: "rs"
|
|
},
|
|
"b:27017": {
|
|
type: "Unknown",
|
|
},
|
|
"c:27017": {
|
|
type: "Unknown",
|
|
},
|
|
"d:27017": {
|
|
type: "RSGhost",
|
|
},
|
|
"e:27017": {
|
|
type: "Unknown",
|
|
}
|
|
|
|
},
|
|
topologyType: "ReplicaSetWithPrimary",
|
|
logicalSessionTimeoutMinutes: 3,
|
|
setName: "rs",
|
|
}
|
|
},
|
|
# An RSArbiter responds without a logicalSessionTimeoutMinutes
|
|
{
|
|
responses: [
|
|
["e:27017", {
|
|
ok: 1,
|
|
helloOk: true,
|
|
isWritablePrimary: false,
|
|
hosts: ["a:27017", "b:27017", "c:27017", "d:27017", "e:27017"],
|
|
setName: "rs",
|
|
arbiterOnly: true,
|
|
minWireVersion: 0,
|
|
maxWireVersion: 6
|
|
}]
|
|
],
|
|
outcome: {
|
|
servers: {
|
|
"a:27017": {
|
|
type: "RSPrimary",
|
|
setName: "rs"
|
|
},
|
|
"b:27017": {
|
|
type: "Unknown",
|
|
},
|
|
"c:27017": {
|
|
type: "Unknown",
|
|
},
|
|
"d:27017": {
|
|
type: "RSGhost",
|
|
},
|
|
"e:27017": {
|
|
type: "RSArbiter",
|
|
setName: "rs"
|
|
}
|
|
|
|
},
|
|
topologyType: "ReplicaSetWithPrimary",
|
|
logicalSessionTimeoutMinutes: 3,
|
|
setName: "rs",
|
|
}
|
|
},
|
|
# An RSSecondary responds with a lower logicalSessionTimeoutMinutes
|
|
{
|
|
responses: [
|
|
["b:27017", {
|
|
ok: 1,
|
|
helloOk: true,
|
|
isWritablePrimary: false,
|
|
secondary: true,
|
|
hosts: ["a:27017", "b:27017", "c:27017", "d:27017", "e:27017"],
|
|
setName: "rs",
|
|
logicalSessionTimeoutMinutes: 2,
|
|
minWireVersion: 0,
|
|
maxWireVersion: 6
|
|
}],
|
|
],
|
|
outcome: {
|
|
servers: {
|
|
"a:27017": {
|
|
type: "RSPrimary",
|
|
setName: "rs"
|
|
},
|
|
"b:27017": {
|
|
type: "RSSecondary",
|
|
setName: "rs"
|
|
},
|
|
"c:27017": {
|
|
type: "Unknown",
|
|
},
|
|
"d:27017": {
|
|
type: "RSGhost",
|
|
},
|
|
"e:27017": {
|
|
type: "RSArbiter",
|
|
setName: "rs"
|
|
}
|
|
|
|
},
|
|
topologyType: "ReplicaSetWithPrimary",
|
|
logicalSessionTimeoutMinutes: 2,
|
|
setName: "rs",
|
|
}
|
|
},
|
|
# An RSOther responds with an even lower logicalSessionTimeoutMinutes, which is ignored
|
|
{
|
|
responses: [
|
|
["c:27017", {
|
|
ok: 1,
|
|
helloOk: true,
|
|
isWritablePrimary: false,
|
|
setName: "rs",
|
|
hidden: true,
|
|
logicalSessionTimeoutMinutes: 1,
|
|
minWireVersion: 0,
|
|
maxWireVersion: 6
|
|
}],
|
|
],
|
|
outcome: {
|
|
servers: {
|
|
"a:27017": {
|
|
type: "RSPrimary",
|
|
setName: "rs"
|
|
},
|
|
"b:27017": {
|
|
type: "RSSecondary",
|
|
setName: "rs"
|
|
},
|
|
"c:27017": {
|
|
type: "RSOther",
|
|
setName: "rs"
|
|
},
|
|
"d:27017": {
|
|
type: "RSGhost",
|
|
},
|
|
"e:27017": {
|
|
type: "RSArbiter",
|
|
setName: "rs"
|
|
}
|
|
},
|
|
topologyType: "ReplicaSetWithPrimary",
|
|
logicalSessionTimeoutMinutes: 2,
|
|
setName: "rs",
|
|
}
|
|
},
|
|
# Now the RSSecondary responds with no logicalSessionTimeoutMinutes
|
|
{
|
|
responses: [
|
|
["b:27017", {
|
|
ok: 1,
|
|
helloOk: true,
|
|
isWritablePrimary: false,
|
|
secondary: true,
|
|
hosts: ["a:27017", "b:27017", "c:27017", "d:27017", "e:27017"],
|
|
setName: "rs",
|
|
logicalSessionTimeoutMinutes: null,
|
|
minWireVersion: 0,
|
|
maxWireVersion: 6
|
|
}]
|
|
],
|
|
|
|
# Sessions aren't supported now
|
|
outcome: {
|
|
servers: {
|
|
"a:27017": {
|
|
type: "RSPrimary",
|
|
setName: "rs"
|
|
},
|
|
"b:27017": {
|
|
type: "RSSecondary",
|
|
setName: "rs"
|
|
},
|
|
"c:27017": {
|
|
type: "RSOther",
|
|
setName: "rs"
|
|
},
|
|
"d:27017": {
|
|
type: "RSGhost",
|
|
},
|
|
"e:27017": {
|
|
type: "RSArbiter",
|
|
setName: "rs"
|
|
}
|
|
},
|
|
topologyType: "ReplicaSetWithPrimary",
|
|
logicalSessionTimeoutMinutes: null,
|
|
setName: "rs",
|
|
}
|
|
}
|
|
]
|