Skip to content

Commit dbec416

Browse files
committed
pr
1 parent de1cc5d commit dbec416

10 files changed

Lines changed: 58 additions & 146 deletions

File tree

src/MongoDB.Driver/Core/Misc/Feature.cs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -666,15 +666,13 @@ internal int LastNotSupportedWireVersion
666666
public void ThrowIfNotSupported(IMongoClient client, CancellationToken cancellationToken = default)
667667
{
668668
var cluster = client.GetClusterInternal();
669-
// TODO: CSOT implement proper way to obtain the operationContext
670-
var operationContext = new OperationContext(NoCoreSession.NewHandle(), null, cancellationToken);
671-
using (var binding = new ReadWriteBindingHandle(new WritableServerBinding(cluster)))
672-
using (var channelSource = binding.GetWriteChannelSource(operationContext))
673-
using (var channel = channelSource.GetChannel(operationContext))
674-
{
675-
// Use WireVersion from a connection since server level value may be null
676-
ThrowIfNotSupported(channel.ConnectionDescription.MaxWireVersion);
677-
}
669+
using var session = NoCoreSession.NewHandle();
670+
using var operationContext = new OperationContext(session, cancellationToken: cancellationToken);
671+
using var binding = new ReadWriteBindingHandle(new WritableServerBinding(cluster));
672+
using var channelSource = binding.GetWriteChannelSource(operationContext);
673+
using var channel = channelSource.GetChannel(operationContext);
674+
// Use WireVersion from a connection since server level value may be null
675+
ThrowIfNotSupported(channel.ConnectionDescription.MaxWireVersion);
678676
}
679677

680678
/// <summary>
@@ -685,15 +683,13 @@ public void ThrowIfNotSupported(IMongoClient client, CancellationToken cancellat
685683
public async Task ThrowIfNotSupportedAsync(IMongoClient client, CancellationToken cancellationToken = default)
686684
{
687685
var cluster = client.GetClusterInternal();
688-
// TODO: CSOT implement proper way to obtain the operationContext
689-
var operationContext = new OperationContext(NoCoreSession.NewHandle(), null, cancellationToken);
690-
using (var binding = new ReadWriteBindingHandle(new WritableServerBinding(cluster)))
691-
using (var channelSource = await binding.GetWriteChannelSourceAsync(operationContext).ConfigureAwait(false))
692-
using (var channel = await channelSource.GetChannelAsync(operationContext).ConfigureAwait(false))
693-
{
694-
// Use WireVersion from a connection since server level value may be null
695-
ThrowIfNotSupported(channel.ConnectionDescription.MaxWireVersion);
696-
}
686+
using var session = NoCoreSession.NewHandle();
687+
using var operationContext = new OperationContext(session, cancellationToken: cancellationToken);
688+
using var binding = new ReadWriteBindingHandle(new WritableServerBinding(cluster));
689+
using var channelSource = await binding.GetWriteChannelSourceAsync(operationContext).ConfigureAwait(false);
690+
using var channel = await channelSource.GetChannelAsync(operationContext).ConfigureAwait(false);
691+
// Use WireVersion from a connection since server level value may be null
692+
ThrowIfNotSupported(channel.ConnectionDescription.MaxWireVersion);
697693
}
698694

699695
internal bool IsSupported(int wireVersion)

src/MongoDB.Driver/Core/Misc/IDictionaryExtensions.cs

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/MongoDB.Driver/IOperationExecutor.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,23 @@ internal interface IOperationExecutor : IDisposable
2323
{
2424
TResult ExecuteReadOperation<TResult>(
2525
OperationContext operationContext,
26-
IClientSessionHandle session,
2726
IReadOperation<TResult> operation,
2827
ReadPreference readPreference,
2928
bool allowChannelPinning);
3029

3130
Task<TResult> ExecuteReadOperationAsync<TResult>(
3231
OperationContext operationContext,
33-
IClientSessionHandle session,
3432
IReadOperation<TResult> operation,
3533
ReadPreference readPreference,
3634
bool allowChannelPinning);
3735

3836
TResult ExecuteWriteOperation<TResult>(
3937
OperationContext operationContext,
40-
IClientSessionHandle session,
4138
IWriteOperation<TResult> operation,
4239
bool allowChannelPinning);
4340

4441
Task<TResult> ExecuteWriteOperationAsync<TResult>(
4542
OperationContext operationContext,
46-
IClientSessionHandle session,
4743
IWriteOperation<TResult> operation,
4844
bool allowChannelPinning);
4945

src/MongoDB.Driver/MongoClient.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -603,26 +603,26 @@ private TResult ExecuteReadOperation<TResult>(IClientSessionHandle session, IRea
603603
{
604604
var readPreference = session.GetEffectiveReadPreference(_settings.ReadPreference);
605605
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, cancellationToken);
606-
return _operationExecutor.ExecuteReadOperation(operationContext, session, operation, readPreference, false);
606+
return _operationExecutor.ExecuteReadOperation(operationContext, operation, readPreference, false);
607607
}
608608

609609
private async Task<TResult> ExecuteReadOperationAsync<TResult>(IClientSessionHandle session, IReadOperation<TResult> operation, TimeSpan? timeout, CancellationToken cancellationToken)
610610
{
611611
var readPreference = session.GetEffectiveReadPreference(_settings.ReadPreference);
612612
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, cancellationToken);
613-
return await _operationExecutor.ExecuteReadOperationAsync(operationContext, session, operation, readPreference, false).ConfigureAwait(false);
613+
return await _operationExecutor.ExecuteReadOperationAsync(operationContext, operation, readPreference, false).ConfigureAwait(false);
614614
}
615615

616616
private TResult ExecuteWriteOperation<TResult>(IClientSessionHandle session, IWriteOperation<TResult> operation, TimeSpan? timeout, CancellationToken cancellationToken)
617617
{
618618
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, cancellationToken);
619-
return _operationExecutor.ExecuteWriteOperation(operationContext, session, operation, false);
619+
return _operationExecutor.ExecuteWriteOperation(operationContext, operation, false);
620620
}
621621

622622
private async Task<TResult> ExecuteWriteOperationAsync<TResult>(IClientSessionHandle session, IWriteOperation<TResult> operation, TimeSpan? timeout, CancellationToken cancellationToken)
623623
{
624624
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, cancellationToken);
625-
return await _operationExecutor.ExecuteWriteOperationAsync(operationContext, session, operation, false).ConfigureAwait(false);
625+
return await _operationExecutor.ExecuteWriteOperationAsync(operationContext, operation, false).ConfigureAwait(false);
626626
}
627627

628628
private MessageEncoderSettings GetMessageEncoderSettings()

src/MongoDB.Driver/MongoCollectionImpl.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1298,7 +1298,7 @@ private TResult ExecuteReadOperation<TResult>(IClientSessionHandle session, IRea
12981298
{
12991299
var readPreference = explicitReadPreference ?? session.GetEffectiveReadPreference(_settings.ReadPreference);
13001300
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, cancellationToken);
1301-
return _operationExecutor.ExecuteReadOperation(operationContext, session, operation, readPreference, true);
1301+
return _operationExecutor.ExecuteReadOperation(operationContext, operation, readPreference, true);
13021302
}
13031303

13041304
private Task<TResult> ExecuteReadOperationAsync<TResult>(IClientSessionHandle session, IReadOperation<TResult> operation, TimeSpan? timeout, CancellationToken cancellationToken)
@@ -1308,19 +1308,19 @@ private async Task<TResult> ExecuteReadOperationAsync<TResult>(IClientSessionHan
13081308
{
13091309
var readPreference = explicitReadPreference ?? session.GetEffectiveReadPreference(_settings.ReadPreference);
13101310
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, cancellationToken);
1311-
return await _operationExecutor.ExecuteReadOperationAsync(operationContext, session, operation, readPreference, true).ConfigureAwait(false);
1311+
return await _operationExecutor.ExecuteReadOperationAsync(operationContext, operation, readPreference, true).ConfigureAwait(false);
13121312
}
13131313

13141314
private TResult ExecuteWriteOperation<TResult>(IClientSessionHandle session, IWriteOperation<TResult> operation, TimeSpan? timeout, CancellationToken cancellationToken)
13151315
{
13161316
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, cancellationToken);
1317-
return _operationExecutor.ExecuteWriteOperation(operationContext, session, operation, true);
1317+
return _operationExecutor.ExecuteWriteOperation(operationContext, operation, true);
13181318
}
13191319

13201320
private async Task<TResult> ExecuteWriteOperationAsync<TResult>(IClientSessionHandle session, IWriteOperation<TResult> operation, TimeSpan? timeout, CancellationToken cancellationToken)
13211321
{
13221322
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, cancellationToken);
1323-
return await _operationExecutor.ExecuteWriteOperationAsync(operationContext, session, operation, true).ConfigureAwait(false);
1323+
return await _operationExecutor.ExecuteWriteOperationAsync(operationContext, operation, true).ConfigureAwait(false);
13241324
}
13251325

13261326
private MessageEncoderSettings GetMessageEncoderSettings()

src/MongoDB.Driver/MongoDatabase.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,7 @@ private TResult ExecuteReadOperation<TResult>(IClientSessionHandle session, IRea
812812
{
813813
var readPreference = explicitReadPreference ?? session.GetEffectiveReadPreference(_settings.ReadPreference);
814814
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, null, cancellationToken);
815-
return _operationExecutor.ExecuteReadOperation(operationContext, session, operation, readPreference, true);
815+
return _operationExecutor.ExecuteReadOperation(operationContext, operation, readPreference, true);
816816
}
817817

818818
private Task<TResult> ExecuteReadOperationAsync<TResult>(IClientSessionHandle session, IReadOperation<TResult> operation, TimeSpan? timeout, CancellationToken cancellationToken)
@@ -822,19 +822,19 @@ private async Task<TResult> ExecuteReadOperationAsync<TResult>(IClientSessionHan
822822
{
823823
var readPreference = explicitReadPreference ?? session.GetEffectiveReadPreference(_settings.ReadPreference);
824824
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, null, cancellationToken);
825-
return await _operationExecutor.ExecuteReadOperationAsync(operationContext, session, operation, readPreference, true).ConfigureAwait(false);
825+
return await _operationExecutor.ExecuteReadOperationAsync(operationContext, operation, readPreference, true).ConfigureAwait(false);
826826
}
827827

828828
private TResult ExecuteWriteOperation<TResult>(IClientSessionHandle session, IWriteOperation<TResult> operation, TimeSpan? timeout, string collectionName, CancellationToken cancellationToken)
829829
{
830830
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, collectionName, cancellationToken);
831-
return _operationExecutor.ExecuteWriteOperation(operationContext, session, operation, true);
831+
return _operationExecutor.ExecuteWriteOperation(operationContext, operation, true);
832832
}
833833

834834
private async Task<TResult> ExecuteWriteOperationAsync<TResult>(IClientSessionHandle session, IWriteOperation<TResult> operation, TimeSpan? timeout, string collectionName, CancellationToken cancellationToken)
835835
{
836836
using var operationContext = CreateOperationContext(session, timeout, operation.OperationName, collectionName, cancellationToken);
837-
return await _operationExecutor.ExecuteWriteOperationAsync(operationContext, session, operation, true).ConfigureAwait(false);
837+
return await _operationExecutor.ExecuteWriteOperationAsync(operationContext, operation, true).ConfigureAwait(false);
838838
}
839839

840840
private IEnumerable<string> ExtractCollectionNames(IEnumerable<BsonDocument> collections)

0 commit comments

Comments
 (0)