Skip to content

Commit 8297374

Browse files
committed
Revert "CSHARP-959: wnote and jnote no longer throw errors on pre 2.6 servers."
This reverts commit 10cfbad.
1 parent 8ba324e commit 8297374

File tree

7 files changed

+11
-86
lines changed

7 files changed

+11
-86
lines changed

MongoDB.Driver/Exceptions/ExceptionMapper.cs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,22 +90,18 @@ public static Exception Map(WriteConcernResult writeConcernResult)
9090
return new WriteConcernException(errorMessage, writeConcernResult);
9191
}
9292

93-
bool wnoteAndJnoteAreErrors = writeConcernResult.ServerInstance.BuildInfo.Version >= new Version(2, 6, 0);
9493
string lastErrorMessage = null;
9594
if (writeConcernResult.HasLastErrorMessage)
9695
{
9796
lastErrorMessage = writeConcernResult.LastErrorMessage;
9897
}
99-
else if (wnoteAndJnoteAreErrors)
98+
else if (writeConcernResult.Response.Contains("jnote"))
10099
{
101-
if (writeConcernResult.Response.Contains("jnote"))
102-
{
103-
lastErrorMessage = writeConcernResult.Response["jnote"].ToString();
104-
}
105-
else if (writeConcernResult.Response.Contains("wnote"))
106-
{
107-
lastErrorMessage = writeConcernResult.Response["wnote"].ToString();
108-
}
100+
lastErrorMessage = writeConcernResult.Response["jnote"].ToString();
101+
}
102+
else if (writeConcernResult.Response.Contains("wnote"))
103+
{
104+
lastErrorMessage = writeConcernResult.Response["wnote"].ToString();
109105
}
110106

111107
if (lastErrorMessage != null)

MongoDB.Driver/Operations/BulkWriteResultConverter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,9 @@ public BulkWriteResultConverter()
2828
}
2929

3030
// public methods
31-
public Exception ToWriteConcernException(MongoServerInstance serverInstance, BulkWriteException bulkWriteException)
31+
public Exception ToWriteConcernException(BulkWriteException bulkWriteException)
3232
{
3333
var writeConcernResult = ToWriteConcernResult(bulkWriteException.Result, bulkWriteException);
34-
writeConcernResult.ServerInstance = serverInstance;
3534

3635
var exception = ExceptionMapper.Map(writeConcernResult.Response);
3736
if (exception == null)
@@ -114,6 +113,7 @@ private WriteConcernResult ToWriteConcernResult(BulkWriteResult bulkWriteResult,
114113
{ "upserted", () => upsert.Id, isUpdate && upsert != null },
115114
};
116115
getLastErrorResponse.Merge(details, false); // don't overwrite existing elements
116+
117117
return new WriteConcernResult(getLastErrorResponse);
118118
}
119119
}

MongoDB.Driver/Operations/DeleteOpcodeOperationEmulator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public WriteConcernResult Execute(MongoConnection connection)
5858
var converter = new BulkWriteResultConverter();
5959
if (bulkWriteException != null)
6060
{
61-
throw converter.ToWriteConcernException(serverInstance, bulkWriteException);
61+
throw converter.ToWriteConcernException(bulkWriteException);
6262
}
6363
else
6464
{

MongoDB.Driver/Operations/InsertOpcodeOperationEmulator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public IEnumerable<WriteConcernResult> Execute(MongoConnection connection)
6161
var converter = new BulkWriteResultConverter();
6262
if (bulkWriteException != null)
6363
{
64-
throw converter.ToWriteConcernException(serverInstance, bulkWriteException);
64+
throw converter.ToWriteConcernException(bulkWriteException);
6565
}
6666
else
6767
{

MongoDB.Driver/Operations/UpdateOpcodeOperationEmulator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public WriteConcernResult Execute(MongoConnection connection)
5858
var converter = new BulkWriteResultConverter();
5959
if (bulkWriteException != null)
6060
{
61-
throw converter.ToWriteConcernException(serverInstance, bulkWriteException);
61+
throw converter.ToWriteConcernException(bulkWriteException);
6262
}
6363
else
6464
{

MongoDB.Driver/Operations/WriteOpcodeOperationBase.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ protected WriteConcernResult ReadWriteConcernResult(MongoConnection connection,
5050
}
5151
var writeConcernResult = replyMessage.Documents[0];
5252
writeConcernResult.Command = sendMessageResult.GetLastErrorCommand;
53-
writeConcernResult.ServerInstance = connection.ServerInstance;
5453

5554
var mappedException = ExceptionMapper.Map(writeConcernResult);
5655
if (mappedException != null)

MongoDB.DriverUnitTests/Exceptions/ExceptionMapperTests.cs

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
* limitations under the License.
1414
*/
1515

16-
using System;
1716
using MongoDB.Bson;
1817
using MongoDB.Driver;
1918
using NUnit.Framework;
@@ -23,14 +22,6 @@ namespace MongoDB.DriverUnitTests.Exceptions
2322
[TestFixture]
2423
public class ExceptionMapperTests
2524
{
26-
private MongoServerInstance _primary;
27-
28-
[TestFixtureSetUp]
29-
public void Setup()
30-
{
31-
_primary = Configuration.TestServer.Primary;
32-
}
33-
3425
[Test]
3526
public void TestDoesNotThrowExceptionWhenEverythingIsKosherWithAWriteConcernResult()
3627
{
@@ -42,7 +33,6 @@ public void TestDoesNotThrowExceptionWhenEverythingIsKosherWithAWriteConcernResu
4233
};
4334

4435
var writeConcernResult = new WriteConcernResult(response);
45-
writeConcernResult.ServerInstance = _primary;
4636
var ex = ExceptionMapper.Map(writeConcernResult);
4737

4838
Assert.IsNull(ex);
@@ -74,7 +64,6 @@ public void TestThrowsDuplicateKeyExceptionForMongod(int code)
7464
};
7565

7666
var writeConcernResult = new WriteConcernResult(response);
77-
writeConcernResult.ServerInstance = _primary;
7867
var ex = ExceptionMapper.Map(writeConcernResult);
7968

8069
Assert.IsNotNull(ex);
@@ -109,7 +98,6 @@ public void TestThrowsDuplicateKeyExceptionForMongos(int code)
10998
};
11099

111100
var writeConcernResult = new WriteConcernResult(response);
112-
writeConcernResult.ServerInstance = _primary;
113101
var ex = ExceptionMapper.Map(writeConcernResult);
114102

115103
Assert.IsNotNull(ex);
@@ -129,7 +117,6 @@ public void TestThrowsWriteConcernExceptionWhenNotOk()
129117
};
130118

131119
var writeConcernResult = new WriteConcernResult(response);
132-
writeConcernResult.ServerInstance = _primary;
133120
var ex = ExceptionMapper.Map(writeConcernResult);
134121

135122
Assert.IsNotNull(ex);
@@ -149,69 +136,12 @@ public void TestThrowsWriteConcernExceptionWhenOkButHasLastErrorMessage()
149136
};
150137

151138
var writeConcernResult = new WriteConcernResult(response);
152-
writeConcernResult.ServerInstance = _primary;
153139
var ex = ExceptionMapper.Map(writeConcernResult);
154140

155141
Assert.IsNotNull(ex);
156142
Assert.IsInstanceOf<WriteConcernException>(ex);
157143
}
158144

159-
[Test]
160-
public void TestThrowsWriteConcernExceptionWhenOkButHasWNoteOnPre26Servers()
161-
{
162-
var response = new BsonDocument
163-
{
164-
{ "err", BsonNull.Value },
165-
{ "code", 20 },
166-
{ "n", 0 },
167-
{ "connectionId", 1 },
168-
{ "ok", 1 },
169-
{ "wnote", "oops" }
170-
};
171-
172-
var writeConcernResult = new WriteConcernResult(response);
173-
writeConcernResult.ServerInstance = _primary;
174-
var ex = ExceptionMapper.Map(writeConcernResult);
175-
176-
if (_primary.BuildInfo.Version < new Version(2, 6, 0))
177-
{
178-
Assert.IsNull(ex);
179-
}
180-
else
181-
{
182-
Assert.IsNotNull(ex);
183-
Assert.IsInstanceOf<WriteConcernException>(ex);
184-
}
185-
}
186-
187-
[Test]
188-
public void TestThrowsWriteConcernExceptionWhenOkButHasJNoteOnPre26Servers()
189-
{
190-
var response = new BsonDocument
191-
{
192-
{ "err", BsonNull.Value },
193-
{ "code", 20 },
194-
{ "n", 0 },
195-
{ "connectionId", 1 },
196-
{ "ok", 1 },
197-
{ "jnote", "oops" }
198-
};
199-
200-
var writeConcernResult = new WriteConcernResult(response);
201-
writeConcernResult.ServerInstance = _primary;
202-
var ex = ExceptionMapper.Map(writeConcernResult);
203-
204-
if (_primary.BuildInfo.Version < new Version(2, 6, 0))
205-
{
206-
Assert.IsNull(ex);
207-
}
208-
else
209-
{
210-
Assert.IsNotNull(ex);
211-
Assert.IsInstanceOf<WriteConcernException>(ex);
212-
}
213-
}
214-
215145
[Test]
216146
[TestCase(50)]
217147
[TestCase(13475)]

0 commit comments

Comments
 (0)