Closed
Description
Software versions
MySqlConnector version:
bug exists in nuget package versions starting with '2.0.0-beta.5'.
Specifically, 2.0.0-beta.5' and '2.0.0-rc.1' repro this.
Server type (MySQL, MariaDB, Aurora, etc.) and version:
MySQL
.NET version: .Net 6
ORM NuGet packages and versions: 2.0.0-beta.5 and 2.0.0-rc.1
Describe the bug
starting with version 2.0.0-beta.5 connection is failing with MySQL server. It was working till 1.4.0-beta.4. It still works if I downgrade to 1.4.0-beta.4.
Exception
Unhandled exception ConnectionFailedException: "The collection already contains item with same key 'net.transport''"
---> System.InvalidOperationException: "The collection already contains item with same key 'net.transport''"
at System.Diagnostics.ActivityTagsCollection.Add(String key, Object value)
at MySqlConnector.Core.ServerSession.OpenTcpSocketAsync(ConnectionSettings cs, ILoadBalancer loadBalancer, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 1059
at MySqlConnector.Core.ServerSession.ConnectAsync(ConnectionSettings cs, MySqlConnection connection, Int32 startTickCount, ILoadBalancer loadBalancer, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 422
at MySqlConnector.Core.ConnectionPool.ConnectSessionAsync(MySqlConnection connection, String logMessage, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 363
at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 94
at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 124
at MySqlConnector.MySqlConnection.CreateSessionAsync(ConnectionPool pool, Int32 startTickCount, Nullable`1 ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlConnection.cs:line 911
at MySqlConnector.MySqlConnection.OpenAsync(Nullable`1 ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlConnection.cs:line 405
at Goodbye.WordPress.MysqlPostReader.ReadPostsAsync(CancellationToken cancellationToken)+MoveNext() in D:\Code\wordpress-export\Goodbye.WordPress\MysqlPostReader.cs:line 51
--- End of inner exception stack trace ---
at Goodbye.WordPress.MysqlPostReader.ReadPostsAsync(CancellationToken cancellationToken)+MoveNext() in D:\Code\wordpress-export\Goodbye.WordPress\MysqlPostReader.cs:line 55
at Goodbye.WordPress.MysqlPostReader.ReadPostsAsync(CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
at Goodbye.WordPress.WordPressExporter.ExportAsync(CancellationToken cancellationToken) in D:\Code\wordpress-export\Goodbye.WordPress\WordPressExporter.cs:line 162
at Goodbye.WordPress.WordPressExporter.ExportAsync(CancellationToken cancellationToken) in D:\Code\wordpress-export\Goodbye.WordPress\WordPressExporter.cs:line 162
at Program.<Main>$(String[] args) in D:\Code\wordpress-export\Export\Program.cs:line 18
at Program.<Main>(String[] args)
Code sample
https://github.com/abock/goodbye-wordpress/blob/master/Goodbye.WordPress/MysqlPostReader.cs#L51
string? originalPermalinkStructure = null;
using var connection = new MySqlConnection(ConnectionString);
try
{
await connection.OpenAsync(cancellationToken);
}
catch (Exception e)
{
throw new ConnectionFailedException(e);
}
Expected behavior
runs without exception and no error with old versions. I am expecting same behavior with new versions of MySqlConnector