Commit Graph

32 Commits

Author SHA1 Message Date
Steven Silvester
5578999a90
PYTHON-1834 Use a code formatter (#852) 2022-02-09 06:44:28 -06:00
Shane Harvey
12a6af7ab6
PYTHON-2981 Stop using MongoClient.address for hashing and equality (#795) 2021-11-17 12:31:59 -08:00
Julius Park
bfa5aafb34
PYTHON-2832 Provide options to limit number of mongos servers used in connecting to sharded clusters (#754) 2021-10-26 14:47:51 -07:00
Julius Park
6bb8a1f411
PYTHON-2823 Allow custom service names with srvServiceName URI option (#749) 2021-10-08 11:23:21 -07:00
Julius Park
3b8961a76e
PYTHON-2679 Auto discover replica sets by default (#716) 2021-09-14 14:00:13 -07:00
Shane Harvey
5bf15c8e18
PYTHON-2672 SDAM, CMAP, and server selection changes for load balancers (#621)
Disable SRV Polling, SDAM compatibility check, logicalSessionTimeoutMinutes check.
server session pool pruning, server selection, and server monitoring.
A ServerType of LoadBalancer MUST be considered a data-bearing server.
"drivers MUST emit the following series of SDAM events" section.
Send loadBalanced:True with handshakes, validate serviceId.
Add topologyVersion fallback when serviceId is missing.
Don't mark load balancers unknown.
2021-05-18 14:12:49 -07:00
Shane Harvey
2c41c6fe95
PYTHON-2671 Support loadBalanced URI option (#614)
Add workaround in test_dns until PYTHON-2679 is completed.
2021-05-05 12:51:05 -07:00
Prashant Mital
0743c0b222
PYTHON-2121 add directConnection URI option 2020-06-08 15:11:55 -07:00
Shane Harvey
5b49557c59 PYTHON-2268 Close clients in test suite 2020-06-03 17:05:59 -07:00
Prashant Mital
f85a9f9450
PYTHON-1675 SRV polling for mongos discovery 2019-06-10 12:51:49 -07:00
Prashant Mital
bc26c0db69
PYTHON-1577 Allow applications to register a custom server selector (#371)
PYTHON-1577 Allow applications to register a custom server selector
2018-08-30 17:33:03 -05:00
Bernie Hackett
507f954ed4 Update copyright dates 2017-12-01 17:23:39 -08:00
Shane Harvey
628cd2d5ef PYTHON-1420 Fix heartbeatFrequencyMS ConfigurationError. 2017-11-28 11:53:25 -08:00
A. Jesse Jiryu Davis
5933730588 PYTHON-1104 Implement maxStalenessMS. 2016-07-22 14:12:40 -04:00
A. Jesse Jiryu Davis
a2f97f92a4 PYTHON-1105 Configurable heartbeatFrequencyMS. 2016-07-08 16:30:56 -04:00
aherlihy
d98a745700 PYTHON-1067 - Implement SDAM Monitoring 2016-06-14 15:20:19 +02:00
Bernie Hackett
aec685b374 Fix up copyright dates. 2015-03-25 11:55:02 -07:00
Bernie Hackett
981414da40 Define and use some constants. 2015-03-24 17:53:36 -07:00
A. Jesse Jiryu Davis
6a50a0489b Revert "Mock the clock in test_selection_failure."
This reverts commit 55efc35379.
2015-03-10 08:43:52 -07:00
aherlihy
fa1466179f PYTHON-813 Added support for serverSelectionTimeoutMS 2015-03-09 12:38:24 -07:00
A. Jesse Jiryu Davis
55efc35379 Mock the clock in test_selection_failure.
Prepares to reliably test PYTHON-831.
2015-01-27 18:02:06 -05:00
Bernie Hackett
4e13a39db9 PYTHON-812 - Make local threshold global and immutable. 2015-01-08 11:21:54 -08:00
A. Jesse Jiryu Davis
0e222c4c4c Rename "set_name" to "replica_set_name".
Rename the attributes of IsMaster, ServerDescription, TopologyDescription, and
TopologySettings from "set_name" to "replica_set_name" for greater clarity.
2014-11-17 20:29:16 -05:00
A. Jesse Jiryu Davis
026757fd0d Unused imports. 2014-11-17 16:12:18 -05:00
A. Jesse Jiryu Davis
ad54c686f1 Remove unused class SocketSettings. 2014-11-03 15:38:29 -05:00
A. Jesse Jiryu Davis
02194fecaf All TopologySettings options should default to None. 2014-11-03 15:38:12 -05:00
A. Jesse Jiryu Davis
98afef5871 Replace "Cluster" term with "Topology".
The Server Discovery And Monitoring Spec has replaced the term "cluster"
with "topology", since "cluster" in MongoDB terminology should be reserved
for sharded clusters. "Topology" describes a single server, replica set, or a
set of mongoses.

The previous commit replaced "cluster" with "topology" in file names. Here
I replace the term in class and variable names.
2014-09-17 22:32:43 -04:00
A. Jesse Jiryu Davis
d464dc49c6 Rename "cluster" files to "topology".
The Server Discovery And Monitoring Spec has replaced the term "cluster"
with "topology", since "cluster" in MongoDB terminology should be reserved
for sharded clusters. "Topology" describes a single server, replica set, or a
set of mongoses.

The next commit will replace "Cluster" names with "Topology".
2014-09-17 22:32:43 -04:00
A. Jesse Jiryu Davis
2f9d24ade6 PYTHON-525 Reimplement MongoClient to use Cluster.
Replace MongoClient with an implementation that relies on Cluster and Server. The new MongoClient takes over MongoReplicaSetClient's responsibilities.

Authentication, secondary-pinning, and Mongos high-availability are broken and will be reimplemented in a future commit. RS tests are temporarily disabled.
2014-08-28 16:57:57 -04:00
A. Jesse Jiryu Davis
564d20aa76 PYTHON-525 Cluster improvements.
* open() is idempotent.
* Open on demand.
* Implement reset().
* Obey PoolOptions.
* Obey ClusterSettings.server_wait_time.
* Bugfix for server_wait_time=0.
* Raise AutoReconnect, not ConnectionFailure.
2014-08-28 16:49:33 -04:00
A. Jesse Jiryu Davis
9cdb1dee8c PYTHON-525 Configurable heartbeat_frequency.
May not actually be user-configurable in the new MongoClient, but useful to
prevent race conditions in cluster-monitoring tests.
2014-07-29 08:54:14 -04:00
A. Jesse Jiryu Davis
d79ab6eb5e PYTHON-525 Implement Cluster, Server, and Monitor.
This is prelude to a unified MongoClient class to replace the current
MongoClient and MongoReplicaSetClient. Conforms to the Cluster Monitoring Spec.
2014-07-01 22:53:24 -04:00