Skip to content

bug: Topic. Ошибка при чтении большого числа сообщений #421

@pkostua

Description

@pkostua

Bug Report

YDB dotnet SDK version:

0.16.2

Environment

YDB: 24.4.4.2

Current behavior:

При попытке чтения из очереди с большим числом непрочитанных сообщений возникает ошибка

ReaderSession["loader_consumer_50000_2252_13067250296371916606_v1"] have transport error on processing server messages
Ydb.Sdk.Driver+TransportException: Transport exception: Status(StatusCode="ResourceExhausted", Detail="Received message exceeds the maximum configured message size.")
 ---> Grpc.Core.RpcException: Status(StatusCode="ResourceExhausted", Detail="Received message exceeds the maximum configured message size.")
   at Grpc.Net.Client.Internal.StreamExtensions.ReadMessageAsync[TResponse](Stream responseStream, GrpcCall call, Func`2 deserializer, String grpcEncoding, Boolean singleMessage, CancellationToken cancellationToken)
   at Grpc.Net.Client.Internal.GrpcCall`2.ReadMessageAsync(Stream responseStream, String grpcEncoding, Boolean singleMessage, CancellationToken cancellationToken)
   at Grpc.Net.Client.Internal.HttpContentClientStreamReader`2.MoveNextCore(CancellationToken cancellationToken)

Steps to reproduce:

  1. Записать в topic с одной партицией более 100000 сообщений по 200 байт.
  2. Попытаться прочитать сообщения методом SDK _reader.ReadAsync

Image

Other information:

Проблему можно решить изменением значения параметра MaxReceiveMessageSize
при создании gRPC канала в файле ChannelPool.cs
Например:

var channelOptions = new GrpcChannelOptions
        {
            LoggerFactory = _loggerFactory,
            DisposeHttpClient = true,
            MaxReceiveMessageSize = int.MaxValue
  
        };

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions