[ https://issues.apache.org/jira/browse/IGNITE-24827?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Tupitsyn updated IGNITE-24827: ------------------------------------ Description: Run the following code: {code:csharp} var cfg = new IgniteClientConfiguration { LoggerFactory = LoggerFactory.Create(builder => builder.AddConsole().SetMinimumLevel(LogLevel.Debug)), Endpoints = { "localhost" } }; using var client = await IgniteClient.StartAsync(cfg); var table = await client.Tables.GetTableAsync("x"); Console.WriteLine($"Table: {table?.Name}"); {code} Error is logged on client close, even though we close it gracefully (via 'using' block): {code} info: Apache.Ignite.Internal.ClientFailoverSocket[1020] Ignite.NET client version 3.0.0.2700+947054a914 is starting info: Apache.Ignite.Internal.ClientSocket-1[1010] Server-side IdleTimeout is not set, using configured IgniteClientConfiguration.HeartbeatInterval: 00:00:30 info: Apache.Ignite.Internal.ClientSocket-1[1017] Partition assignment change notification received [remoteAddress=127.0.0.1:10800, timestamp=114183308401967104 Table: fail: Apache.Ignite.Internal.ClientSocket-1[1014] Exception while reading from socket, connection closed: The operation was canceled. System.OperationCanceledException: The operation was canceled. at System.Threading.CancellationToken.ThrowOperationCanceledException() at System.Threading.CancellationToken.ThrowIfCancellationRequested() at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token) at Apache.Ignite.Internal.ClientSocket.ReceiveBytesAsync(Stream stream, Byte[] buffer, Int32 size, MetricsContext metricsContext, CancellationToken cancellationToken) at Apache.Ignite.Internal.ClientSocket.ReadMessageSizeAsync(Stream stream, Byte[] buffer, MetricsContext metricsContext, CancellationToken cancellationToken) at Apache.Ignite.Internal.ClientSocket.ReadResponseAsync(Stream stream, Byte[] messageSizeBytes, MetricsContext metricsContext, CancellationToken cancellationToken) at Apache.Ignite.Internal.ClientSocket.RunReceiveLoop(CancellationToken cancellationToken) {code} > .NET: Thin 3.0: Error logged on graceful disconnect > --------------------------------------------------- > > Key: IGNITE-24827 > URL: https://issues.apache.org/jira/browse/IGNITE-24827 > Project: Ignite > Issue Type: Bug > Components: platforms, thin client > Reporter: Pavel Tupitsyn > Assignee: Pavel Tupitsyn > Priority: Major > Labels: .NET, ignite-3 > Fix For: 3.1 > > > Run the following code: > {code:csharp} > var cfg = new IgniteClientConfiguration > { > LoggerFactory = LoggerFactory.Create(builder => > builder.AddConsole().SetMinimumLevel(LogLevel.Debug)), > Endpoints = { "localhost" } > }; > using var client = await IgniteClient.StartAsync(cfg); > var table = await client.Tables.GetTableAsync("x"); > Console.WriteLine($"Table: {table?.Name}"); > {code} > Error is logged on client close, even though we close it gracefully (via > 'using' block): > {code} > info: Apache.Ignite.Internal.ClientFailoverSocket[1020] > Ignite.NET client version 3.0.0.2700+947054a914 is starting > info: Apache.Ignite.Internal.ClientSocket-1[1010] > Server-side IdleTimeout is not set, using configured > IgniteClientConfiguration.HeartbeatInterval: 00:00:30 > info: Apache.Ignite.Internal.ClientSocket-1[1017] > Partition assignment change notification received > [remoteAddress=127.0.0.1:10800, timestamp=114183308401967104 > Table: > fail: Apache.Ignite.Internal.ClientSocket-1[1014] > Exception while reading from socket, connection closed: The operation > was canceled. > System.OperationCanceledException: The operation was canceled. > at > System.Threading.CancellationToken.ThrowOperationCanceledException() > at System.Threading.CancellationToken.ThrowIfCancellationRequested() > at > System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError > error, CancellationToken cancellationToken) > at > System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 > token) > at Apache.Ignite.Internal.ClientSocket.ReceiveBytesAsync(Stream > stream, Byte[] buffer, Int32 size, MetricsContext metricsContext, > CancellationToken cancellationToken) > at Apache.Ignite.Internal.ClientSocket.ReadMessageSizeAsync(Stream > stream, Byte[] buffer, MetricsContext metricsContext, CancellationToken > cancellationToken) > at Apache.Ignite.Internal.ClientSocket.ReadResponseAsync(Stream > stream, Byte[] messageSizeBytes, MetricsContext metricsContext, > CancellationToken cancellationToken) > at > Apache.Ignite.Internal.ClientSocket.RunReceiveLoop(CancellationToken > cancellationToken) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)