summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/README.md
diff options
context:
space:
mode:
authorTess Avitabile <tess.avitabile@mongodb.com>2020-01-30 15:04:44 +0000
committerevergreen <evergreen@mongodb.com>2020-01-30 15:04:44 +0000
commit6375ee8006c6f8a025b29036be586e03d34e4fe2 (patch)
tree77af3d803601e38fe7bdf37a4fa91ff15cbd28d1 /src/mongo/db/repl/README.md
parent3740db9c9166fed48b92ea5cf59c9ae061a94cf1 (diff)
downloadmongo-6375ee8006c6f8a025b29036be586e03d34e4fe2.tar.gz
SERVER-45254 Update architecture guide for streamable isMaster
Diffstat (limited to 'src/mongo/db/repl/README.md')
-rw-r--r--src/mongo/db/repl/README.md9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mongo/db/repl/README.md b/src/mongo/db/repl/README.md
index a77f73d1922..87dbcae095c 100644
--- a/src/mongo/db/repl/README.md
+++ b/src/mongo/db/repl/README.md
@@ -189,9 +189,12 @@ The `ReplicationCoordinator` communicates with the storage layer and other nodes
[`ReplicationCoordinatorExternalState`](https://github.com/mongodb/mongo/blob/r4.2.0/src/mongo/db/repl/replication_coordinator_external_state.h).
The external state also manages and owns all of the replication threads.
-The `TopologyCoordinator` is in charge of maintaining state about the topology of the cluster. It is
-non-blocking and does a large amount of a node's decision making surrounding replication. Most
-replication command requests and responses are filled in here.
+The `TopologyCoordinator` is in charge of maintaining state about the topology of the cluster. On
+significant changes (anything that affects the response to isMaster), the TopologyCoordinator updates
+its TopologyVersion. The [`isMaster`](https://github.com/mongodb/mongo/blob/r4.3.3/src/mongo/db/repl/replication_info.cpp#L258) command awaits changes in the TopologyVersion before returning.
+
+The `TopologyCoordinator` is non-blocking and does a large amount of a node's decision making
+surrounding replication. Most replication command requests and responses are filled in here.
Both coordinators maintain views of the entire cluster and the state of each node, though there are
plans to merge these together.