summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/README.md
diff options
context:
space:
mode:
authorCheahuychou Mao <mao.cheahuychou@gmail.com>2022-07-07 21:14:48 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-07-27 05:03:51 +0000
commit83b60779ae6a5f0b80c4a50d175de97e2a91082c (patch)
tree93f838125c2e429f34e579c8d18f211f21c9e6cf /src/mongo/db/s/README.md
parent30b36e4dacbadf8c7ecc088755a7a7552d82040b (diff)
downloadmongo-83b60779ae6a5f0b80c4a50d175de97e2a91082c.tar.gz
SERVER-67723 Make the SessionCatalogMongoD reaper not delete the on-disk state for any transaction session until its logical session has expired
(cherry picked from commit 338062b6a22668dcb1cf919de5dd2e9f3eea0221)
Diffstat (limited to 'src/mongo/db/s/README.md')
-rw-r--r--src/mongo/db/s/README.md4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mongo/db/s/README.md b/src/mongo/db/s/README.md
index 04c3ac2adcc..2f36bd39b16 100644
--- a/src/mongo/db/s/README.md
+++ b/src/mongo/db/s/README.md
@@ -1201,7 +1201,7 @@ consistent. When a DDL request is received by a router, it gets forwarded to the
of the targeted database. For the sake of clarity, createDatabase is the only DDL operation that cannot possibly get forwarded to the
database primary but is instead routed to the config server, as the database may not exist yet.
-##### Serialization and joinability of DDL operations
+##### Serialization and joinability of DDL operations
When a primary shard receives a DDL request, it tries to construct a DDL coordinator performing the following steps:
- Acquire the [distributed lock for the database](https://github.com/mongodb/mongo/blob/908e394d39b223ce498fde0d40e18c9200c188e2/src/mongo/db/s/sharding_ddl_coordinator.cpp#L155). This ensures that at most one DDL operation at a time will run for namespaces belonging to the same database on that particular primary node.
- Acquire the distributed lock for the [collection](https://github.com/mongodb/mongo/blob/908e394d39b223ce498fde0d40e18c9200c188e2/src/mongo/db/s/sharding_ddl_coordinator.cpp#L171) (or [collections](https://github.com/mongodb/mongo/blob/908e394d39b223ce498fde0d40e18c9200c188e2/src/mongo/db/s/sharding_ddl_coordinator.cpp#L181)) involved in the operation.
@@ -1214,7 +1214,7 @@ on the shard in order to join the ongoing operation if the options match (same o
Once the distributed locks have been acquired, it is guaranteed that no other concurrent DDLs are happening for the same database,
hence a DDL coordinator can safely start [executing the operation](https://github.com/mongodb/mongo/blob/master/src/mongo/db/s/sharding_ddl_coordinator.cpp#L207).
-As first step, each coordinator is required to [majority commit a document](https://github.com/mongodb/mongo/blob/2ae2bcedfb7d48e64843dd56b9e4f107c56944b6/src/mongo/db/s/sharding_ddl_coordinator.h#L105-L116) -
+As first step, each coordinator is required to [majority commit a document](https://github.com/mongodb/mongo/blob/2ae2bcedfb7d48e64843dd56b9e4f107c56944b6/src/mongo/db/s/sharding_ddl_coordinator.h#L105-L116) -
that we will refer to as state document - containing all information regarding the running operation such as name of the DDL, namespaces
involved and other metadata identifying the original request. At this point, the coordinator is entitled to start making both local and
remote catalog modifications, eventually after blocking CRUD operations on the changing namespaces; when the execution reaches relevant