1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
description: "Record max setVersion, even from primary without electionId"
uri: "mongodb://a/?replicaSet=rs"
phases: [
# Primary A has setVersion and electionId, tells us about B.
{
responses: [
["a:27017", {
ok: 1,
ismaster: true,
hosts: ["a:27017", "b:27017"],
setName: "rs",
setVersion: 1,
electionId: {"$oid": "000000000000000000000001"},
minWireVersion: 0,
maxWireVersion: 6
}]
],
outcome: {
servers: {
"a:27017": {
type: "RSPrimary",
setName: "rs",
setVersion: 1,
electionId: {"$oid": "000000000000000000000001"}
},
"b:27017": {
type: "Unknown",
setName: ,
electionId:
}
},
topologyType: "ReplicaSetWithPrimary",
logicalSessionTimeoutMinutes: null,
setName: "rs",
maxSetVersion: 1,
maxElectionId: {"$oid": "000000000000000000000001"},
}
},
# Reconfig the set and elect B, it has a new setVersion but no electionId.
{
responses: [
["b:27017", {
ok: 1,
ismaster: true,
hosts: ["a:27017", "b:27017"],
setName: "rs",
setVersion: 2,
minWireVersion: 0,
maxWireVersion: 6
}]
],
outcome: {
servers: {
"a:27017": {
type: "Unknown",
setName: ,
electionId:
},
"b:27017": {
type: "RSPrimary",
setName: "rs",
setVersion: 2
}
},
topologyType: "ReplicaSetWithPrimary",
logicalSessionTimeoutMinutes: null,
setName: "rs",
maxSetVersion: 2,
maxElectionId: {"$oid": "000000000000000000000001"},
}
},
# Delayed response from A, reporting its reelection. Its setVersion shows
# the election preceded B's so we ignore it.
{
responses: [
["a:27017", {
ok: 1,
ismaster: true,
hosts: ["a:27017", "b:27017"],
setName: "rs",
setVersion: 1,
electionId: {"$oid": "000000000000000000000002"},
minWireVersion: 0,
maxWireVersion: 6
}]
],
outcome: {
servers: {
"a:27017": {
type: "Unknown",
setName: ,
electionId:
},
"b:27017": {
type: "RSPrimary",
setName: "rs",
setVersion: 2
}
},
topologyType: "ReplicaSetWithPrimary",
logicalSessionTimeoutMinutes: null,
setName: "rs",
maxSetVersion: 2,
maxElectionId: {"$oid": "000000000000000000000001"},
}
}
]
|