Skip to content

Commit 9f109ae

Browse files
fix leak of connections
1 parent eda9055 commit 9f109ae

File tree

5 files changed

+11
-18
lines changed

5 files changed

+11
-18
lines changed

src/Ydb.Sdk/tests/Ado/Specification/YdbFactoryFixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ public class YdbFactoryFixture : IDbFactoryFixture
88
{
99
public DbProviderFactory Factory => YdbProviderFactory.Instance;
1010

11-
public string ConnectionString => "Host=localhost;Port=2136;Database=/local";
11+
public string ConnectionString => "Host=localhost;Port=2136;Database=local;MaxSessionPool=10";
1212
}

src/Ydb.Sdk/tests/Ado/YdbAdoUserPasswordTests.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ public YdbAdoUserPasswordTests(YdbFactoryFixture fixture) : base(fixture)
1414
[Fact]
1515
public async Task Authentication_WhenUserAndPassword_ReturnValidConnection()
1616
{
17-
await using var connection = new YdbConnection(Fixture.ConnectionString);
18-
await connection.OpenAsync();
17+
await using var connection = await CreateOpenConnectionAsync();
1918
var ydbCommand = connection.CreateCommand();
2019
var kurdyukovkirya = "kurdyukovkirya" + Random.Shared.Next();
2120
ydbCommand.CommandText = $"CREATE USER {kurdyukovkirya} PASSWORD 'password'";
@@ -29,8 +28,7 @@ public async Task Authentication_WhenUserAndPassword_ReturnValidConnection()
2928
ydbCommand.CommandText = "SELECT 1 + 2";
3029
Assert.Equal(3, await ydbCommand.ExecuteScalarAsync());
3130

32-
await using var newConnection = new YdbConnection(Fixture.ConnectionString);
33-
await newConnection.OpenAsync();
31+
await using var newConnection = await CreateOpenConnectionAsync();
3432
ydbCommand = newConnection.CreateCommand();
3533
ydbCommand.CommandText = $"DROP USER {kurdyukovkirya};";
3634
await ydbCommand.ExecuteNonQueryAsync();
@@ -39,8 +37,7 @@ public async Task Authentication_WhenUserAndPassword_ReturnValidConnection()
3937
[Fact]
4038
public async Task ExecuteNonQueryAsync_WhenCreateUser_ReturnEmptyResultSet()
4139
{
42-
await using var connection = new YdbConnection(Fixture.ConnectionString);
43-
await connection.OpenAsync();
40+
await using var connection = await CreateOpenConnectionAsync();
4441
var dbCommand = connection.CreateCommand();
4542
var user = "user" + Random.Shared.Next();
4643
dbCommand.CommandText = $"CREATE USER {user} PASSWORD '123qweqwe'";

src/Ydb.Sdk/tests/Ado/YdbConnectionTests.cs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77

88
namespace Ydb.Sdk.Tests.Ado;
99

10-
[Collection("YdbConnectionTests")]
11-
[CollectionDefinition("YdbConnectionTests isolation test", DisableParallelization = true)]
1210
public sealed class YdbConnectionTests : YdbAdoNetFixture
1311
{
1412
private static readonly TemporaryTables<YdbConnectionTests> Tables = new();
@@ -207,15 +205,11 @@ private List<Task> GenerateTasks()
207205
{
208206
return Enumerable.Range(0, 100).Select(async i =>
209207
{
210-
await using var connection = new YdbConnection(ConnectionString);
211-
await connection.OpenAsync();
212-
208+
await using var connection = await CreateOpenConnectionAsync();
213209
var command = connection.CreateCommand();
214210
command.CommandText = "SELECT " + i;
215-
216211
var scalar = (int)(await command.ExecuteScalarAsync())!;
217212
Assert.Equal(i, scalar);
218-
219213
Interlocked.Add(ref _counter, scalar);
220214
}).ToList();
221215
}

src/Ydb.Sdk/tests/Ado/YdbDataSourceTests.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,15 @@ public void CreateCommand_FromDataSource_ReturnDbCommand()
4343
{
4444
for (var i = 0; i < SelectedCount; i++)
4545
{
46-
Assert.Equal(1, _dataSource.CreateCommand("SELECT 1;").ExecuteScalar());
46+
using var command = _dataSource.CreateCommand("SELECT 1;");
47+
Assert.Equal(1, command.ExecuteScalar());
4748
}
4849

4950
_dataSource.Dispose();
5051
for (var i = 0; i < SelectedCount; i++)
5152
{
52-
Assert.Equal(1, _dataSource.CreateCommand("SELECT 1;").ExecuteScalar());
53+
using var command = _dataSource.CreateCommand("SELECT 1;");
54+
Assert.Equal(1, command.ExecuteScalar());
5355
}
5456
}
5557

src/Ydb.Sdk/tests/Fixture/YdbAdoNetFixture.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ protected override YdbConnection CreateOpenConnection()
2222

2323
protected async Task<YdbConnection> CreateOpenConnectionAsync()
2424
{
25-
var connection = CreateConnection();
26-
connection.ConnectionString = ConnectionString;
25+
var connection = new YdbConnection(new YdbConnectionStringBuilder(ConnectionString)
26+
{ LoggerFactory = Utils.GetLoggerFactory() });
2727
await connection.OpenAsync();
2828
return connection;
2929
}

0 commit comments

Comments
 (0)