Upon Document Store initialization, the client receives the initial topology list,
after which the client is kept updated at all times for any changes made to it.
If the topology list has changed on the server, (or any other client configuration),
the client will learn about it upon making its next request to the server,
and will update its configuration accordingly.
In addition, every 5 minutes, the client will fetch the current topology from the server
if no requests were made within that time frame.
Any client-configuration settings that are set on the server side override the settings made on the client-side.
Else, if using-session-context is defined, use LoadBalanceBehavior:
Per session, the client will select a node based on the session context.
All Read & Write requests made on the session will be directed to that node.
Else, if defined, use ReadBalanceBehavior: Read requests: The client will select a node based on the read balance options. Write requests: All Write requests will be directed to the preferred node.
Else, use the preferred node:
Use the preferred node for both Read & Write requests.
The cluster may assign a different preferred node when removing/adding new nodes to the database-group.
Single-node session usage
When using a single-node session,
a short delay in replicating changes to all nodes in the cluster is acceptable in most cases.
If ReadBalanceBehavior or LoadBalanceBehavior are defined,
then the next session you open may access a different node.
So if you need to ensure that the next request will be able to immediately read what you just wrote,
then use Write Assurance.