The CSOT API is neither very discoverable the way it is currently documented, nor does it document the effect on retrying.
Improve discoverability:
Within the same class/interface:
- MongoClientSettings.Builder.timeout should link to MongoClientSettings.getTimeout
- MongoClientSettings.getTimeout should link to MongoClientSettings.Builder.timeout
- MongoCluster.withTimeout should link to MongoCluster.getTimeout
- MongoCluster.getTimeout should link to MongoCluster.withTimeout
- MongoDatabase.withTimeout should link to MongoDatabase.getTimeout
- MongoDatabase.getTimeout should link to MongoDatabase.withTimeout
- MongoCollection.withTimeout should link to MongoCollection.getTimeout
- MongoCollection.getTimeout should link to MongoCollection.withTimeout
Across classes/interfaces:
- MongoClientSettings.Builder.timeout should link to MongoCluster.withTimeout, MongoDatabase.withTimeout, MongoCollection.withTimeout
- MongoCluster.withTimeout, MongoDatabase.withTimeout, MongoCollection.withTimeout should link to MongoClientSettings.Builder.timeout.
- MongoClientSettings.getTimeout should link to MongoCluster.getTimeout, MongoDatabase.getTimeout, MongoCollection.getTimeout
- MongoCluster.getTimeout, MongoDatabase.getTimeout, MongoCollection.getTimeout should link to MongoClientSettings.getTimeout.
Document the effect on retrying:
- MongoClientSettings.Builder.retryWrites/retryReads should document that retrying is affected by the operation timeout, and link to MongoClientSettings.Builder.timeout.
- MongoClientSettings.Builder.timeout should document how the operation timeout affects retrying, and link to MongoClientSettings.Builder.retryWrites/retryReads.
- MongoClientSettings.getRetryWrites/getRetryReads should document that retrying is affected by the operation timeout, and link to MongoClientSettings.getTimeout.
- MongoClientSettings.getTimeout should document how the operation timeout affects retrying, and link to MongoClientSettings.getRetryWrites/getRetryReads.