Skip to content

Commit e577aac

Browse files
author
rstam
committed
CSHARP-574: SecondaryAcceptableLatency was missing from MongoUrl.
1 parent 9eef887 commit e577aac

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

Driver/Core/MongoUrl.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,15 @@ public SafeMode SafeMode
203203
get { return _serverSettings.SafeMode; }
204204
}
205205

206+
/// <summary>
207+
/// Gets the acceptable latency for considering a replica set member for inclusion in load balancing
208+
/// when using a read preference of Secondary, SecondaryPreferred, and Nearest.
209+
/// </summary>
210+
public TimeSpan SecondaryAcceptableLatency
211+
{
212+
get { return _serverSettings.SecondaryAcceptableLatency; }
213+
}
214+
206215
/// <summary>
207216
/// Gets the address of the server (see also Servers if using more than one address).
208217
/// </summary>

DriverUnitTests/Core/MongoUrlTests.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public void TestDefaults()
4646
Assert.AreEqual(MongoDefaults.MaxConnectionPoolSize, url.MaxConnectionPoolSize);
4747
Assert.AreEqual(null, url.ReplicaSetName);
4848
Assert.AreEqual(SafeMode.False, url.SafeMode);
49+
Assert.AreEqual(MongoDefaults.SecondaryAcceptableLatency, url.SecondaryAcceptableLatency);
4950
#pragma warning disable 618
5051
Assert.AreEqual(false, url.SlaveOk);
5152
#pragma warning restore
@@ -380,6 +381,15 @@ public void TestSafeModeTrueFSyncTrueW2WTimeout()
380381
Assert.AreEqual(connectionString, url.ToString());
381382
}
382383

384+
[Test]
385+
public void TestSecondaryAcceptableLatency()
386+
{
387+
string connectionString = "mongodb://localhost/?secondaryAcceptableLatency=12s";
388+
MongoUrl url = new MongoUrl(connectionString);
389+
Assert.AreEqual(TimeSpan.FromSeconds(12), url.SecondaryAcceptableLatency);
390+
Assert.AreEqual(connectionString, url.ToString());
391+
}
392+
383393
[Test]
384394
public void TestSlaveOkFalse()
385395
{
@@ -463,7 +473,7 @@ public void TestWaitQueueTimeout()
463473
[Test]
464474
public void TestAll()
465475
{
466-
string connectionString = "mongodb://localhost/?connect=replicaSet;replicaSet=name;slaveOk=true;safe=true;fsync=true;w=2;wtimeout=2s;uuidRepresentation=PythonLegacy";
476+
string connectionString = "mongodb://localhost/?connect=replicaSet;replicaSet=name;slaveOk=true;safe=true;fsync=true;w=2;wtimeout=2s;secondaryAcceptableLatency=12s;uuidRepresentation=PythonLegacy";
467477
MongoUrl url = new MongoUrl(connectionString);
468478
Assert.IsNull(url.DefaultCredentials);
469479
Assert.AreEqual(1, url.Servers.Count());
@@ -474,6 +484,7 @@ public void TestAll()
474484
Assert.AreEqual("name", url.ReplicaSetName);
475485
Assert.AreEqual(GuidRepresentation.PythonLegacy, url.GuidRepresentation);
476486
Assert.AreEqual(SafeMode.Create(true, true, 2, TimeSpan.FromSeconds(2)), url.SafeMode);
487+
Assert.AreEqual(TimeSpan.FromSeconds(12), url.SecondaryAcceptableLatency);
477488
#pragma warning disable 618
478489
Assert.AreEqual(true, url.SlaveOk);
479490
#pragma warning restore

0 commit comments

Comments
 (0)