Skip to content

Commit 3ebc256

Browse files
authored
DRIVERS-2870 Clean up rendering (#1594)
1 parent 9e6d510 commit 3ebc256

File tree

14 files changed

+113
-169
lines changed

14 files changed

+113
-169
lines changed

source/auth/auth.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Driver Authentication
1+
# Authentication
22

33
- Status: Accepted
44
- Minimum Server Version: 2.6
@@ -1253,7 +1253,7 @@ in the MONGODB-OIDC specification, including sections or blocks that specificall
12531253
performed after SRV record resolution, if applicable. This property is only required for drivers that support the
12541254
[Human Authentication Flow](#human-authentication-flow).
12551255

1256-
<div id="built-in-provider-integrations">
1256+
<span id="built-in-provider-integrations"/>
12571257

12581258
#### Built-in OIDC Environment Integrations
12591259

source/benchmarking/benchmarking.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# MongoDB Driver Performance Benchmarking
1+
# Performance Benchmarking
22

33
- Status: Accepted
44
- Minimum Server Version: N/A

source/client-side-encryption/client-side-encryption.md

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ as described in [Handling of Native UUID Types](../uuid.rst).
296296

297297
### MongoClient Changes
298298

299-
<span id="MongoClient" />
299+
<span id="MongoClient"></span>
300300

301301
```typescript
302302
class MongoClient {
@@ -315,7 +315,7 @@ class MongoClient {
315315
}
316316
```
317317

318-
<span id="AutoEncryptionOpts" />
318+
<span id="AutoEncryptionOpts"></span>
319319

320320
```typescript
321321
class AutoEncryptionOpts {
@@ -423,12 +423,8 @@ Drivers MUST document that an additional `MongoClient` may be created, using the
423423
See
424424
[What's the deal with metadataClient, keyVaultClient, and the internal client?](#whats-the-deal-with-metadataclient-keyvaultclient-and-the-internal-client)
425425

426-
<span id="GCPKMSOptions" />
427-
<span id="AWSKMSOptions" />
428-
<span id="KMSProvider" />
429-
<span id="KMSProviders" />
430-
<span id="AzureAccessToken" />
431-
<span id="kmsproviders" />
426+
<span id="GCPKMSOptions"></span> <span id="AWSKMSOptions"></span> <span id="KMSProvider"></span>
427+
<span id="KMSProviders"></span> <span id="AzureAccessToken"></span> <span id="kmsproviders"></span>
432428

433429
#### kmsProviders
434430

@@ -570,7 +566,7 @@ Once requested, drivers MUST create a new [KMSProviders](#kmsproviders) $P$ acco
570566
$t_0 + d\_{exp}$.
571567
6. Return $P$ as the additional KMS providers to [libmongocrypt](#libmongocrypt).
572568

573-
<span id="obtaining-gcp-credentials" />
569+
<span id="obtaining-gcp-credentials"></span>
574570

575571
##### Obtaining GCP Credentials
576572

@@ -744,7 +740,7 @@ Drivers MUST implement extraOptions in a way that allows deprecating/removing op
744740
break, such as with a BSON document or map type instead of a struct type with fixed fields. See
745741
[Why are extraOptions and kmsProviders maps?](#why-are-extraoptions-and-kmsproviders-maps).
746742

747-
<span id="extraoptions.cryptsharedlibpath" />
743+
<span id="extraoptions.cryptsharedlibpath"></span>
748744

749745
##### `extraOptions.cryptSharedLibPath`
750746

@@ -757,7 +753,7 @@ Allow the user to specify an absolute path to a [crypt_shared](#crypt_shared) dy
757753
- [Path Resolution Behavior](#path-resolution-behavior)
758754
- [Enabling crypt_shared](#enabling-crypt_shared)
759755

760-
<span id="extraoptions.cryptsharedlibrequired" />
756+
<span id="extraoptions.cryptsharedlibrequired"></span>
761757

762758
##### `extraOptions.cryptSharedLibRequired`
763759

@@ -770,8 +766,7 @@ If, after initializing a `libmongocrypt_handle`, [crypt_shared](#crypt_shared) i
770766
[extraOptions.cryptSharedLibRequired](#extraoptions.cryptsharedlibrequired) is `true`, the driver MUST consider the
771767
`libmongocrypt_handle` to be invalid and return an error to the user. Refer:
772768

773-
<span id="managing-mongocryptd" />
774-
<span id="detecting-crypt_shared-availability" />
769+
<span id="managing-mongocryptd"></span> <span id="detecting-crypt_shared-availability"></span>
775770

776771
#### encryptedFieldsMap
777772

@@ -802,7 +797,7 @@ See [Why is bypassQueryAnalysis needed?](#why-is-bypassqueryanalysis-needed).
802797

803798
A collection supporting Queryable Encryption requires an index and three additional collections.
804799

805-
<span id="GetEncryptedFields" />
800+
<span id="GetEncryptedFields"></span>
806801

807802
#### Collection `encryptedFields` Lookup (GetEncryptedFields)
808803

@@ -996,9 +991,9 @@ class ClientEncryption {
996991
}
997992
```
998993

999-
<span id="ClientEncryptionOpts" />
994+
<span id="ClientEncryptionOpts"></span>
1000995

1001-
<span id="KMSProvidersTLSOptions" />
996+
<span id="KMSProvidersTLSOptions"></span>
1002997

1003998
```typescript
1004999
interface ClientEncryptionOpts {
@@ -1361,7 +1356,7 @@ Drivers MUST propagate errors from libmongocrypt in whatever way is idiomatic to
13611356
etc.). These errors MUST be distinguished in some way (e.g. exception type) to make it easier for users to distinguish
13621357
when a command fails due to client side encryption.
13631358

1364-
<span id="enabling-crypt_shared" />
1359+
<span id="enabling-crypt_shared"></span>
13651360

13661361
## Enabling Command Marking with the `crypt_shared` Library
13671362

@@ -1381,8 +1376,7 @@ facilitate driver testing with [crypt_shared](#crypt_shared) (Refer:
13811376
> The driver MUST NOT manipulate or do any validation on the [crypt_shared](#crypt_shared) path options provided in
13821377
> [extraOptions](#extraoptions). They should be passed through to [libmongocrypt](#libmongocrypt) unchanged.
13831378

1384-
<span id="search-path" />
1385-
<span id="search-paths" />
1379+
<span id="search-path"></span> <span id="search-paths"></span>
13861380

13871381
### Setting Search Paths
13881382

@@ -1401,7 +1395,7 @@ execution from the ambient state of the host system.
14011395
Refer to: [Path Resolution Behavior](#path-resolution-behavior) and
14021396
[Search Paths for Testing](#search-paths-for-testing)
14031397

1404-
<span id="override-path" />
1398+
<span id="override-path"></span>
14051399

14061400
### Overriding the `crypt_shared` Library Path
14071401

@@ -1475,7 +1469,7 @@ successfully loaded by asking [libmongocrypt](#libmongocrypt) for the [crypt_sha
14751469
the result is an empty string, [libmongocrypt](#libmongocrypt) did not load [crypt_shared](#crypt_shared) and the driver
14761470
must rely on [mongocryptd](#mongocryptd) to mark command documents for encryption.
14771471

1478-
<span id="disabling-crypt_shared" />
1472+
<span id="disabling-crypt_shared"></span>
14791473

14801474
### "Disabling" `crypt_shared`
14811475

source/client-side-encryption/subtype6.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ data into one BSON value that can be treated as an opaque blob in most contexts.
103103
If we used separate subtypes, we'd need to reserve three (and possibly more in the future) of our 124 remaining
104104
subtypes.
105105

106-
<span id="intent-to-encrypt"/>
106+
<span id="intent-to-encrypt"></span>
107107

108108
### Why are intent-to-encrypt markings needed?
109109

source/crud/crud.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Driver CRUD API
1+
# CRUD API
22

33
- Status: Accepted
44
- Minimum Server Version: 2.6

source/extended-json.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ The two formats in this specification address these two categories of use cases.
509509
Parsers need to accept any valid Extended JSON string that a generator can produce. Parsers and generators are permitted
510510
to accept and output strings in other formats as well for backwards compatibility.
511511

512-
<div id="levels of nesting">
512+
<span id="levels of nesting"></span>
513513

514514
Acceptable nesting depth has implications for resource usage so unlimited nesting is not permitted.
515515

source/index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
# MongoDB Specifications
22

3+
- [Authentication](auth/auth.md)
34
- [BSON Binary Subtype 6](client-side-encryption/subtype6.md)
45
- [BSON Corpus](bson-corpus/bson-corpus.md)
56
- [BSON Decimal128 Type Handling in Drivers](bson-decimal128/decimal128.md)
67
- [Bulk Write](crud/bulk-write.md)
8+
- [CRUD API](crud/crud.md)
79
- [Causal Consistency Specification](causal-consistency/causal-consistency.md)
810
- [Change Streams](change-streams/change-streams.md)
911
- [Client Side Encryption](client-side-encryption/client-side-encryption.md)
1012
- [Client Side Operations Timeout](client-side-operations-timeout/client-side-operations-timeout.md)
1113
- [Collation](collation/collation.md)
1214
- [Connection Monitoring and Pooling](connection-monitoring-and-pooling/connection-monitoring-and-pooling.md)
1315
- [Connection String Spec](connection-string/connection-string-spec.md)
14-
- [Driver Authentication](auth/auth.md)
15-
- [Driver CRUD API](crud/crud.md)
1616
- [Driver Mantras](./driver-mantras.md)
17-
- [Driver Sessions Specification](sessions/driver-sessions.md)
18-
- [Driver Transactions Specification](transactions/transactions.md)
1917
- [Extended JSON](./extended-json.md)
2018
- [FaaS Automated Testing](faas-automated-testing/faas-automated-testing.md)
2119
- [GridFS Spec](gridfs/gridfs-spec.md)
@@ -26,8 +24,8 @@
2624
- [Logging](logging/logging.md)
2725
- [Max Staleness](max-staleness/max-staleness.md)
2826
- [Max Staleness Tests](max-staleness/max-staleness-tests.md)
29-
- [MongoDB Driver Performance Benchmarking](benchmarking/benchmarking.md)
3027
- [OP_MSG](message/OP_MSG.md)
28+
- [Performance Benchmarking](benchmarking/benchmarking.md)
3129
- [Retryable Reads](retryable-reads/retryable-reads.md)
3230
- [Retryable Writes](retryable-writes/retryable-writes.md)
3331
- [SDAM Logging and Monitoring Specification](server-discovery-and-monitoring/server-discovery-and-monitoring-logging-and-monitoring.md)
@@ -37,7 +35,9 @@
3735
- [Server Monitoring](server-discovery-and-monitoring/server-monitoring.md)
3836
- [Server Selection](server-selection/server-selection.md)
3937
- [Server Selection Test Plan](server-selection/server-selection-tests.md)
38+
- [Sessions Specification](sessions/driver-sessions.md)
4039
- [Snapshot Reads Specification](sessions/snapshot-sessions.md)
40+
- [Transactions Specification](transactions/transactions.md)
4141
- [URI Options Specification](uri-options/uri-options.md)
4242
- [Unified Test Format](unified-test-format/unified-test-format.md)
4343
- [Wire Compression in Drivers](compression/OP_COMPRESSED.md)

source/load-balancers/load-balancers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ SRV record as is done for non-load balanced sharded clusters.
6060

6161
### Server Discovery Logging and Monitoring
6262

63-
<div id="monitoring">
63+
<span id="monitoring"></span>
6464

6565
#### Monitoring
6666

source/server-discovery-and-monitoring/server-discovery-and-monitoring-logging-and-monitoring.md

Lines changed: 9 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -368,59 +368,14 @@ The following table describes the rules for determining if a topology type has r
368368
preference is passed to `hasReadableServer`, the driver MUST default the value to the default read preference,
369369
`primary`, or treat the call as if `primary` was provided.
370370

371-
<table style="width:99%;">
372-
<colgroup>
373-
<col style="width: 22%" />
374-
<col style="width: 38%" />
375-
<col style="width: 38%" />
376-
</colgroup>
377-
<thead>
378-
<tr class="header">
379-
<th>Topology Type</th>
380-
<th><code>hasReadableServer</code></th>
381-
<th><code>hasWritableServer</code></th>
382-
</tr>
383-
</thead>
384-
<tbody>
385-
<tr class="odd">
386-
<td>Unknown</td>
387-
<td><code>false</code></td>
388-
<td><code>false</code></td>
389-
</tr>
390-
<tr class="even">
391-
<td>Single</td>
392-
<td><code>true</code> if the server is available</td>
393-
<td><code>true</code> if the server is available</td>
394-
</tr>
395-
<tr class="odd">
396-
<td>ReplicaSetNoPrimary</td>
397-
<td><div class="line-block">Called with <code>primary</code>:
398-
<code>false</code><br />
399-
Called with any other option: uses the read preference to determine if
400-
any server in the cluster is suitable for reading.<br />
401-
Called with no option: <code>false</code></div></td>
402-
<td><code>false</code></td>
403-
</tr>
404-
<tr class="even">
405-
<td>ReplicaSetWithPrimary</td>
406-
<td><div class="line-block">Called with any valid option: uses the read
407-
preference to determine if any server in the cluster is suitable for
408-
reading.<br />
409-
Called with no option: <code>true</code></div></td>
410-
<td><code>true</code></td>
411-
</tr>
412-
<tr class="odd">
413-
<td>Sharded</td>
414-
<td><code>true</code> if 1+ servers are available</td>
415-
<td><code>true</code> if 1+ servers are available</td>
416-
</tr>
417-
<tr class="even">
418-
<td>LoadBalanced</td>
419-
<td><code>true</code></td>
420-
<td><code>true</code></td>
421-
</tr>
422-
</tbody>
423-
</table>
371+
| Topology Type | `hasReadableServer` | `hasWritableServer` |
372+
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
373+
| Unknown | `false` | `false` |
374+
| Single | `true` if the server is available | `true` if the server is available |
375+
| ReplicaSetNoPrimary | Called with `primary`: `false` <br>Called with any other option: uses the read preference to determine if any server in the cluster is suitable for reading. <br>Called with no option: `false` | `false` |
376+
| ReplicaSetWithPrimary | Called with any valid option: uses the read preference to determine if any server in the cluster is suitable for reading. <br>Called with no option: `true` | `true` |
377+
| Sharded | `true` if 1+ servers are available | `true` if 1+ servers are available |
378+
| LoadBalanced | `true` | `true` |
424379

425380
### Log Messages
426381

@@ -616,13 +571,9 @@ See the [README](tests/monitoring/README.md).
616571

617572
- 2021-05-06: Updated to use modern terminology.
618573

619-
# \<\<\<\<\<\<\< HEAD :2024-03-29: Updated to clarify expected initial value of TopologyDescriptionChangedEvent's previousDescription field :2024-01-17: Updated to require that `TopologyDescriptionChangedEvent` should be emitted before just `TopologyClosedEvent` is emitted :2024-01-04: Updated to clarify when ServerHeartbeatStartedEvent should be emitted :2023-03-31: Renamed to include "logging" in the title. Reorganized contents and made consistent with CLAM spec, and added requirements for SDAM log messages. :2022-10-05: Remove spec front matter and reformat changelog. :2021-05-06: Updated to use modern terminology. :2020-04-20: Add rules for streaming heartbeat protocol and add "awaited" field to heartbeat events. :2018:12-12: Clarified table of rules for readable/writable servers :2016-08-31: Added table of rules for determining if topology has readable/writable servers. :2016-10-11: TopologyDescription objects MAY have additional methods and properties. ||||||| parent of 469393fd (DRIVERS-2789 Convert SDAM Spec to Markdown) :2024-03-29: Updated to clarify expected initial value of TopologyDescriptionChangedEvent's previousDescription field :2024-01-04: Updated to clarify when ServerHeartbeatStartedEvent should be emitted :2023-03-31: Renamed to include "logging" in the title. Reorganized contents and made consistent with CLAM spec, and added requirements for SDAM log messages. :2022-10-05: Remove spec front matter and reformat changelog. :2021-05-06: Updated to use modern terminology. :2020-04-20: Add rules for streaming heartbeat protocol and add "awaited" field to heartbeat events. :2018:12-12: Clarified table of rules for readable/writable servers :2016-08-31: Added table of rules for determining if topology has readable/writable servers. :2016-10-11: TopologyDescription objects MAY have additional methods and properties.
620-
621574
- 2020-04-20: Add rules for streaming heartbeat protocol and add "awaited" field to heartbeat events.
622575

623-
> > > > > > > 469393fd (DRIVERS-2789 Convert SDAM Spec to Markdown)
624-
625-
- 2018:12-12: Clarified table of rules for readable/writable servers
576+
- 2018-12-12: Clarified table of rules for readable/writable servers
626577

627578
- 2016-08-31: Added table of rules for determining if topology has readable/writable servers.
628579

source/server-selection/server-selection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ An OP_QUERY operation targeting the '$cmd' collection namespace.
7878
A driver connection mode that sends all database operations to a single server without regard for
7979
type.
8080

81-
<span id="eligible"/>
81+
<span id="eligible"></span>
8282

8383
**Eligible**\
8484
Describes candidate servers that also meet the criteria specified by the `tag_sets` and

0 commit comments

Comments
 (0)