CXX-3204 add URI setter for server_selection_try_once
#1374
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
mongocxx::uri
to setserverSelectionTryOnce
URI option.Background & Motivation
Intended to help simplify a a workaround in Atlas Stream Processing. The workaround applies
serverSelectionTryOnce=false
to a URI if the option is not already specified. I expect this new setter can be used in streams after constructing the mongocxx::uri like:This is the first setter on
mongocxx::uri
. If acceptable, this pattern can be extended in the future to add setters for more URI options to resolve CXX-2146.Rejected alternatives
A new option to
mongocxx::options::client
was considered but rejected. Server selection spec notes:But
mongocxx::options::client
is applied to bothmongocxx::client
andmongocxx::pool
constructors.The spec also notes:
A URI setter avoids possible disagreement.