Skip to content

Commit 93074a9

Browse files
committed
CSHARP-1201: Removing OperationTimeout from settings classes.
1 parent 0e5026b commit 93074a9

15 files changed

+21
-191
lines changed

src/MongoDB.Driver.Legacy/MongoServerSettings.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,6 @@ public static MongoServerSettings FromClientSettings(MongoClientSettings clientS
501501
serverSettings.MaxConnectionLifeTime = clientSettings.MaxConnectionLifeTime;
502502
serverSettings.MaxConnectionPoolSize = clientSettings.MaxConnectionPoolSize;
503503
serverSettings.MinConnectionPoolSize = clientSettings.MinConnectionPoolSize;
504-
serverSettings.OperationTimeout = clientSettings.OperationTimeout;
505504
serverSettings.ReadEncoding = clientSettings.ReadEncoding;
506505
serverSettings.ReadPreference = clientSettings.ReadPreference;
507506
serverSettings.ReplicaSetName = clientSettings.ReplicaSetName;

src/MongoDB.Driver.TestConsoleApplication/Api.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ public async Task RunAsync(int numConcurrentWorkers, Action<ClusterBuilder> conf
3636
{
3737
var settings = new MongoClientSettings();
3838
settings.ClusterConfigurator = configurator;
39-
settings.OperationTimeout = TimeSpan.FromSeconds(5);
4039

4140
var client = new MongoClient(settings);
4241

@@ -68,7 +67,7 @@ public async Task RunAsync(int numConcurrentWorkers, Action<ClusterBuilder> conf
6867
private async Task DoWork(IMongoCollection<BsonDocument> collection)
6968
{
7069
var rand = new Random();
71-
while(!_cancellationTokenSource.IsCancellationRequested)
70+
while (!_cancellationTokenSource.IsCancellationRequested)
7271
{
7372
var i = rand.Next(0, 10000);
7473
List<BsonDocument> docs;
@@ -83,7 +82,7 @@ private async Task DoWork(IMongoCollection<BsonDocument> collection)
8382
continue;
8483
}
8584

86-
if(docs.Count == 0)
85+
if (docs.Count == 0)
8786
{
8887
try
8988
{

src/MongoDB.Driver.Tests/MockOperationExecutor.cs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,32 +55,30 @@ public void EnqueueException<TResult>(Exception exception)
5555
_results.Enqueue(tcs.Task);
5656
}
5757

58-
public Task<TResult> ExecuteReadOperationAsync<TResult>(IReadBinding binding, IReadOperation<TResult> operation, TimeSpan timeout, CancellationToken cancellationToken)
58+
public Task<TResult> ExecuteReadOperationAsync<TResult>(IReadBinding binding, IReadOperation<TResult> operation, CancellationToken cancellationToken)
5959
{
6060
_calls.Enqueue(new ReadCall<TResult>
6161
{
6262
Binding = binding,
6363
Operation = operation,
64-
Timeout = timeout,
6564
CancellationToken = cancellationToken
6665
});
6766

6867
var result = Task.FromResult<TResult>(default(TResult));
69-
if(_results.Count > 0)
68+
if (_results.Count > 0)
7069
{
7170
result = (Task<TResult>)_results.Dequeue();
7271
}
7372

7473
return result;
7574
}
7675

77-
public Task<TResult> ExecuteWriteOperationAsync<TResult>(IWriteBinding binding, IWriteOperation<TResult> operation, TimeSpan timeout, CancellationToken cancellationToken)
76+
public Task<TResult> ExecuteWriteOperationAsync<TResult>(IWriteBinding binding, IWriteOperation<TResult> operation, CancellationToken cancellationToken)
7877
{
7978
_calls.Enqueue(new WriteCall<TResult>
8079
{
8180
Binding = binding,
8281
Operation = operation,
83-
Timeout = timeout,
8482
CancellationToken = cancellationToken
8583
});
8684

@@ -95,14 +93,14 @@ public Task<TResult> ExecuteWriteOperationAsync<TResult>(IWriteBinding binding,
9593

9694
public ReadCall<TResult> GetReadCall<TResult>()
9795
{
98-
if(_calls.Count == 0)
96+
if (_calls.Count == 0)
9997
{
10098
throw new InvalidOperationException("No read operation was executed.");
10199
}
102100

103101
var call = _calls.Dequeue();
104102
var readCall = call as ReadCall<TResult>;
105-
if(readCall == null)
103+
if (readCall == null)
106104
{
107105
throw new InvalidOperationException(string.Format("Expected a call of type {0} but had {1}.", typeof(ReadCall<TResult>), call.GetType()));
108106
}
@@ -112,14 +110,14 @@ public ReadCall<TResult> GetReadCall<TResult>()
112110

113111
public WriteCall<TResult> GetWriteCall<TResult>()
114112
{
115-
if(_calls.Count == 0)
113+
if (_calls.Count == 0)
116114
{
117115
throw new InvalidOperationException("No read operation was executed.");
118116
}
119117

120118
var call = _calls.Dequeue();
121119
var writeCall = call as WriteCall<TResult>;
122-
if(writeCall == null)
120+
if (writeCall == null)
123121
{
124122
throw new InvalidOperationException(string.Format("Expected a call of type {0} but had {1}.", typeof(WriteCall<TResult>), call.GetType()));
125123
}
@@ -131,15 +129,13 @@ public class ReadCall<TResult>
131129
{
132130
public IReadBinding Binding { get; set; }
133131
public IReadOperation<TResult> Operation { get; set; }
134-
public TimeSpan Timeout { get; set; }
135132
public CancellationToken CancellationToken { get; set; }
136133
}
137134

138135
public class WriteCall<TResult>
139136
{
140137
public IWriteBinding Binding { get; set; }
141138
public IWriteOperation<TResult> Operation { get; set; }
142-
public TimeSpan Timeout { get; set; }
143139
public CancellationToken CancellationToken { get; set; }
144140
}
145141
}

src/MongoDB.Driver.Tests/MongoClientSettingsTests.cs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ public void TestDefaults()
103103
Assert.AreEqual(MongoDefaults.MaxConnectionLifeTime, settings.MaxConnectionLifeTime);
104104
Assert.AreEqual(MongoDefaults.MaxConnectionPoolSize, settings.MaxConnectionPoolSize);
105105
Assert.AreEqual(MongoDefaults.MinConnectionPoolSize, settings.MinConnectionPoolSize);
106-
Assert.AreEqual(MongoDefaults.OperationTimeout, settings.OperationTimeout);
107106
Assert.AreEqual(ReadPreference.Primary, settings.ReadPreference);
108107
Assert.AreEqual(null, settings.ReplicaSetName);
109108
Assert.AreEqual(_localHost, settings.Server);
@@ -165,10 +164,6 @@ public void TestEquals()
165164
clone.MinConnectionPoolSize = settings.MinConnectionPoolSize + 1;
166165
Assert.IsFalse(clone.Equals(settings));
167166

168-
clone = settings.Clone();
169-
clone.OperationTimeout = TimeSpan.FromMilliseconds(20);
170-
Assert.IsFalse(clone.Equals(settings));
171-
172167
clone = settings.Clone();
173168
clone.ReadPreference = ReadPreference.Secondary;
174169
Assert.IsFalse(clone.Equals(settings));
@@ -389,21 +384,6 @@ public void TestMinConnectionPoolSize()
389384
Assert.Throws<InvalidOperationException>(() => { settings.MinConnectionPoolSize = minConnectionPoolSize; });
390385
}
391386

392-
[Test]
393-
public void TestOperationTimeout()
394-
{
395-
var settings = new MongoClientSettings();
396-
Assert.AreEqual(MongoDefaults.OperationTimeout, settings.OperationTimeout);
397-
398-
var operationTimeout = new TimeSpan(1, 2, 3);
399-
settings.OperationTimeout = operationTimeout;
400-
Assert.AreEqual(operationTimeout, settings.OperationTimeout);
401-
402-
settings.Freeze();
403-
Assert.AreEqual(operationTimeout, settings.OperationTimeout);
404-
Assert.Throws<InvalidOperationException>(() => { settings.OperationTimeout = operationTimeout; });
405-
}
406-
407387
[Test]
408388
public void TestReadPreference()
409389
{

src/MongoDB.Driver.Tests/MongoCollectionSettingsTests.cs

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,12 @@ public void TestAll()
3030
{
3131
AssignIdOnInsert = true,
3232
GuidRepresentation = GuidRepresentation.PythonLegacy,
33-
OperationTimeout = TimeSpan.FromMilliseconds(20),
3433
ReadPreference = ReadPreference.Primary,
3534
WriteConcern = WriteConcern.Acknowledged
3635
};
3736

3837
Assert.AreEqual(true, settings.AssignIdOnInsert);
3938
Assert.AreEqual(GuidRepresentation.PythonLegacy, settings.GuidRepresentation);
40-
Assert.AreEqual(TimeSpan.FromMilliseconds(20), settings.OperationTimeout);
4139
Assert.AreSame(ReadPreference.Primary, settings.ReadPreference);
4240
Assert.AreSame(WriteConcern.Acknowledged, settings.WriteConcern);
4341
}
@@ -65,7 +63,6 @@ public void TestClone()
6563
{
6664
AssignIdOnInsert = !MongoDefaults.AssignIdOnInsert,
6765
GuidRepresentation = GuidRepresentation.PythonLegacy,
68-
OperationTimeout = TimeSpan.FromMilliseconds(20),
6966
ReadPreference = ReadPreference.Secondary,
7067
WriteConcern = WriteConcern.W2
7168
};
@@ -79,7 +76,6 @@ public void TestConstructor()
7976
var settings = new MongoCollectionSettings();
8077
Assert.AreEqual(false, settings.AssignIdOnInsert);
8178
Assert.AreEqual(GuidRepresentation.Unspecified, settings.GuidRepresentation);
82-
Assert.AreEqual(default(TimeSpan), settings.OperationTimeout);
8379
Assert.AreEqual(null, settings.ReadPreference);
8480
Assert.AreEqual(null, settings.WriteConcern);
8581
}
@@ -103,10 +99,6 @@ public void TestEquals()
10399
clone.GuidRepresentation = GuidRepresentation.PythonLegacy;
104100
Assert.IsFalse(clone.Equals(settings));
105101

106-
clone = settings.Clone();
107-
clone.OperationTimeout = TimeSpan.FromMilliseconds(20);
108-
Assert.IsFalse(clone.Equals(settings));
109-
110102
clone = settings.Clone();
111103
clone.ReadPreference = ReadPreference.Secondary;
112104
Assert.IsFalse(clone.Equals(settings));
@@ -161,21 +153,6 @@ public void TestGuidRepresentation()
161153
Assert.Throws<InvalidOperationException>(() => { settings.GuidRepresentation = guidRepresentation; });
162154
}
163155

164-
[Test]
165-
public void TestOperationTimeout()
166-
{
167-
var settings = new MongoDatabaseSettings();
168-
Assert.AreEqual(default(TimeSpan), settings.OperationTimeout);
169-
170-
var operationTimeout = new TimeSpan(1, 2, 3);
171-
settings.OperationTimeout = operationTimeout;
172-
Assert.AreEqual(operationTimeout, settings.OperationTimeout);
173-
174-
settings.Freeze();
175-
Assert.AreEqual(operationTimeout, settings.OperationTimeout);
176-
Assert.Throws<InvalidOperationException>(() => { settings.OperationTimeout = operationTimeout; });
177-
}
178-
179156
[Test]
180157
public void TestReadPreference()
181158
{

src/MongoDB.Driver.Tests/MongoDatabaseSettingsTests.cs

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,11 @@ public void TestAll()
2929
var settings = new MongoDatabaseSettings
3030
{
3131
GuidRepresentation = GuidRepresentation.PythonLegacy,
32-
OperationTimeout = TimeSpan.FromMilliseconds(20),
3332
ReadPreference = ReadPreference.Primary,
3433
WriteConcern = WriteConcern.Acknowledged
3534
};
3635

3736
Assert.AreEqual(GuidRepresentation.PythonLegacy, settings.GuidRepresentation);
38-
Assert.AreEqual(TimeSpan.FromMilliseconds(20), settings.OperationTimeout);
3937
Assert.AreSame(ReadPreference.Primary, settings.ReadPreference);
4038
Assert.AreSame(WriteConcern.Acknowledged, settings.WriteConcern);
4139
}
@@ -47,7 +45,6 @@ public void TestClone()
4745
var settings = new MongoDatabaseSettings
4846
{
4947
GuidRepresentation = GuidRepresentation.PythonLegacy,
50-
OperationTimeout = TimeSpan.FromMilliseconds(20),
5148
ReadPreference = ReadPreference.Secondary,
5249
WriteConcern = WriteConcern.W2
5350
};
@@ -60,7 +57,6 @@ public void TestConstructor()
6057
{
6158
var settings = new MongoDatabaseSettings();
6259
Assert.AreEqual(GuidRepresentation.Unspecified, settings.GuidRepresentation);
63-
Assert.AreEqual(default(TimeSpan), settings.OperationTimeout);
6460
Assert.AreEqual(null, settings.ReadPreference);
6561
Assert.AreEqual(null, settings.WriteConcern);
6662
}
@@ -80,10 +76,6 @@ public void TestEquals()
8076
clone.GuidRepresentation = GuidRepresentation.PythonLegacy;
8177
Assert.IsFalse(clone.Equals(settings));
8278

83-
clone = settings.Clone();
84-
clone.OperationTimeout = TimeSpan.FromMilliseconds(20);
85-
Assert.IsFalse(clone.Equals(settings));
86-
8779
clone = settings.Clone();
8880
clone.ReadPreference = ReadPreference.Secondary;
8981
Assert.IsFalse(clone.Equals(settings));
@@ -141,21 +133,6 @@ public void TestGuidRepresentation()
141133
Assert.Throws<InvalidOperationException>(() => { settings.GuidRepresentation = guidRepresentation; });
142134
}
143135

144-
[Test]
145-
public void TestOperationTimeout()
146-
{
147-
var settings = new MongoDatabaseSettings();
148-
Assert.AreEqual(default(TimeSpan), settings.OperationTimeout);
149-
150-
var operationTimeout = new TimeSpan(1, 2, 3);
151-
settings.OperationTimeout = operationTimeout;
152-
Assert.AreEqual(operationTimeout, settings.OperationTimeout);
153-
154-
settings.Freeze();
155-
Assert.AreEqual(operationTimeout, settings.OperationTimeout);
156-
Assert.Throws<InvalidOperationException>(() => { settings.OperationTimeout = operationTimeout; });
157-
}
158-
159136
[Test]
160137
public void TestReadPreference()
161138
{

src/MongoDB.Driver/IInheritableMongoClientSettings.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ namespace MongoDB.Driver
2222
internal interface IInheritableMongoClientSettings
2323
{
2424
GuidRepresentation GuidRepresentation { get; }
25-
TimeSpan OperationTimeout { get; }
2625
UTF8Encoding ReadEncoding { get; }
2726
ReadPreference ReadPreference { get; }
2827
WriteConcern WriteConcern { get; }

src/MongoDB.Driver/IOperationExecutor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ namespace MongoDB.Driver
2323
{
2424
internal interface IOperationExecutor
2525
{
26-
Task<TResult> ExecuteReadOperationAsync<TResult>(IReadBinding binding, IReadOperation<TResult> operation, TimeSpan timeout, CancellationToken cancellationToken);
26+
Task<TResult> ExecuteReadOperationAsync<TResult>(IReadBinding binding, IReadOperation<TResult> operation, CancellationToken cancellationToken);
2727

28-
Task<TResult> ExecuteWriteOperationAsync<TResult>(IWriteBinding binding, IWriteOperation<TResult> operation, TimeSpan timeout, CancellationToken cancellationToken);
28+
Task<TResult> ExecuteWriteOperationAsync<TResult>(IWriteBinding binding, IWriteOperation<TResult> operation, CancellationToken cancellationToken);
2929
}
3030
}

src/MongoDB.Driver/MongoClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ private static MongoClientSettings ParseConnectionString(string connectionString
107107

108108
using (var binding = new WritableServerBinding(_cluster))
109109
{
110-
await _operationExecutor.ExecuteWriteOperationAsync(binding, operation, _settings.OperationTimeout, cancellationToken).ConfigureAwait(false);
110+
await _operationExecutor.ExecuteWriteOperationAsync(binding, operation, cancellationToken).ConfigureAwait(false);
111111
}
112112
}
113113

@@ -131,7 +131,7 @@ public sealed override IMongoDatabase GetDatabase(string name, MongoDatabaseSett
131131

132132
using (var binding = new ReadPreferenceBinding(_cluster, _settings.ReadPreference))
133133
{
134-
return await _operationExecutor.ExecuteReadOperationAsync(binding, operation, _settings.OperationTimeout, cancellationToken).ConfigureAwait(false);
134+
return await _operationExecutor.ExecuteReadOperationAsync(binding, operation, cancellationToken).ConfigureAwait(false);
135135
}
136136
}
137137

src/MongoDB.Driver/MongoClientSettings.cs

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ public class MongoClientSettings : IEquatable<MongoClientSettings>, IInheritable
4242
private TimeSpan _maxConnectionLifeTime;
4343
private int _maxConnectionPoolSize;
4444
private int _minConnectionPoolSize;
45-
private TimeSpan _operationTimeout;
4645
private UTF8Encoding _readEncoding;
4746
private ReadPreference _readPreference;
4847
private string _replicaSetName;
@@ -77,7 +76,6 @@ public MongoClientSettings()
7776
_maxConnectionLifeTime = MongoDefaults.MaxConnectionLifeTime;
7877
_maxConnectionPoolSize = MongoDefaults.MaxConnectionPoolSize;
7978
_minConnectionPoolSize = MongoDefaults.MinConnectionPoolSize;
80-
_operationTimeout = MongoDefaults.OperationTimeout;
8179
_readEncoding = null;
8280
_readPreference = ReadPreference.Primary;
8381
_replicaSetName = null;
@@ -248,19 +246,6 @@ public int MinConnectionPoolSize
248246
}
249247
}
250248

251-
/// <summary>
252-
/// Gets or sets the operation timeout.
253-
/// </summary>
254-
public TimeSpan OperationTimeout
255-
{
256-
get { return _operationTimeout; }
257-
set
258-
{
259-
if (_isFrozen) { throw new InvalidOperationException("MongoClientSettings is frozen."); }
260-
_operationTimeout = value;
261-
}
262-
}
263-
264249
/// <summary>
265250
/// Gets or sets the Read Encoding.
266251
/// </summary>
@@ -545,7 +530,6 @@ public MongoClientSettings Clone()
545530
clone._maxConnectionLifeTime = _maxConnectionLifeTime;
546531
clone._maxConnectionPoolSize = _maxConnectionPoolSize;
547532
clone._minConnectionPoolSize = _minConnectionPoolSize;
548-
clone._operationTimeout = _operationTimeout;
549533
clone._readEncoding = _readEncoding;
550534
clone._readPreference = _readPreference;
551535
clone._replicaSetName = _replicaSetName;
@@ -596,7 +580,6 @@ public override bool Equals(object obj)
596580
_maxConnectionLifeTime == rhs._maxConnectionLifeTime &&
597581
_maxConnectionPoolSize == rhs._maxConnectionPoolSize &&
598582
_minConnectionPoolSize == rhs._minConnectionPoolSize &&
599-
_operationTimeout == rhs._operationTimeout &&
600583
object.Equals(_readEncoding, rhs._readEncoding) &&
601584
_readPreference == rhs._readPreference &&
602585
_replicaSetName == rhs._replicaSetName &&
@@ -665,7 +648,6 @@ public override int GetHashCode()
665648
.Hash(_maxConnectionLifeTime)
666649
.Hash(_maxConnectionPoolSize)
667650
.Hash(_minConnectionPoolSize)
668-
.Hash(_operationTimeout)
669651
.Hash(_readEncoding)
670652
.Hash(_readPreference)
671653
.Hash(_replicaSetName)
@@ -703,7 +685,6 @@ public override string ToString()
703685
sb.AppendFormat("MaxConnectionLifeTime={0};", _maxConnectionLifeTime);
704686
sb.AppendFormat("MaxConnectionPoolSize={0};", _maxConnectionPoolSize);
705687
sb.AppendFormat("MinConnectionPoolSize={0};", _minConnectionPoolSize);
706-
sb.AppendFormat("OperationTimeout={0};", _operationTimeout);
707688
if (_readEncoding != null)
708689
{
709690
sb.Append("ReadEncoding=UTF8Encoding;");

0 commit comments

Comments
 (0)