|
Apologies for this oversight.
The only change to addShard oplog entries is the addition of a new topologyTime field inside the o field (ie. inside the document being inserted to the config.shards collection), which I assume is a negligible change.
{
|
"op" : "i",
|
"ns" : "config.shards",
|
"ui" : UUID("87aff8a9-1b10-460e-85a1-e3b35a6f6329"),
|
"o" : {
|
"_id" : "shard02",
|
"host" : "shard02/localhost:27019",
|
"state" : 1,
|
+ "topologyTime" : Timestamp(1595312397, 7)
|
},
|
"ts" : Timestamp(1595312397, 8),
|
"t" : NumberLong(1),
|
"wall" : ISODate("2020-07-21T06:19:57.459Z"),
|
"v" : NumberLong(2)
|
}
|
For removeShard, previously this was just a document deletion in config.shards, but is now an applyOps command containing the document deletion and an update on another document (both in config.shards. For multiversion purposes, both formats should probably be detected. As you can see, they're reasonably similar, in the sense that the document deletion is still present, but "nested" inside the applyOps command.
{
|
+ "op" : "c",
|
+ "ns" : "config.$cmd",
|
+ "o" : {
|
+ "applyOps" : [
|
+ {
|
"op" : "d",
|
"b" : false,
|
"ns" : "config.shards",
|
"o" : {
|
"_id" : "shard02"
|
},
|
"ui" : UUID("87aff8a9-1b10-460e-85a1-e3b35a6f6329")
|
+ },
|
+ {
|
+ "op" : "u",
|
+ "b" : false,
|
+ "ns" : "config.shards",
|
+ "o" : {
|
+ "$set" : {
|
+ "topologyTime" : Timestamp(1595312619, 1)
|
+ }
|
+ },
|
+ "o2" : {
|
+ "_id" : "shard01"
|
+ },
|
+ "ui" : UUID("87aff8a9-1b10-460e-85a1-e3b35a6f6329")
|
+ }
|
+ ],
|
+ "alwaysUpsert" : false,
|
+ "writeConcern" : {
|
+ "w" : 1,
|
+ "wtimeout" : 0
|
+ },
|
+ "$db" : "config"
|
+ },
|
"ts" : Timestamp(1595312619, 2),
|
"t" : NumberLong(1),
|
"wall" : ISODate("2020-07-21T06:23:39.233Z"),
|
"v" : NumberLong(2)
|
}
|
EDIT: And, no change to the config.shards update that commences draining (technically this doesn't actually alter the topology).
{
|
"op" : "u",
|
"ns" : "config.shards",
|
"ui" : UUID("87aff8a9-1b10-460e-85a1-e3b35a6f6329"),
|
"o" : {
|
"$v" : 1,
|
"$set" : {
|
"draining" : true
|
}
|
},
|
"o2" : {
|
"_id" : "shard02"
|
},
|
"ts" : Timestamp(1595312615, 2),
|
"t" : NumberLong(1),
|
"wall" : ISODate("2020-07-21T06:23:35.008Z"),
|
"v" : NumberLong(2)
|
}
|
|