gRP C параметры клиента отменяют параметры сервера? - PullRequest
0 голосов
/ 29 мая 2020

У меня есть сервер gRP C, реализованный в python API, и на нем я установил несколько параметров, например:

options=[
      ('grpc.max_send_message_length', 500 * 1024 * 1024),
      ('grpc.max_receive_message_length', 500 * 1024 * 1024),
      ('GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA', 0),
      ('grpc.keepalive_time_ms', 300000),
]
server = grpc.server(futures.ThreadPoolExecutor(max_workers=4), options=options)

Мы увеличиваем длину сообщения по умолчанию до 500 МБ по сравнению с 4 МБ. Один из моих пользователей видит следующую ошибку:

io.grpc.StatusRuntimeException: RESOURCE_EXHAUSTED: gRPC message exceeds maximum size 4194304: 5224306

Я пытаюсь выяснить, может ли настройка на стороне клиента переопределить настройки моего сервера?

В противном случае есть проблема с тем, как я устанавливаю параметры сервера для длины сообщения?

1 Ответ

1 голос
/ 29 мая 2020

Параметры grpc.max_{send,receive}_message_length на клиенте и сервере применяются локально на каждом конце, независимо друг от друга. Так, например, клиенту потребуется установить grpc.max_receive_message_length число, подобное приведенному здесь, чтобы принимать большие сообщения, отправляемые сервером, независимо от настроек сервера.

...