PubSub: StatusRuntimeException: НЕ ДОСТУПНО от StreamingSubscriberConnection - PullRequest
0 голосов
/ 07 февраля 2019

Мы запускаем наше приложение Spring Boot в GCP с Kubernetes.Мы используем spring-cloud-gcp-starter-pubsub 1.1.0.RC1 -> google-cloud-pubsub:1.54.0.В последнее время мы начали получать исключения:

logger_name com.google.cloud.pubsub.v1.StreamingSubscriberConnection

method onFailure

severity WARN

stack_tracecom.google.api.gax.rpc.UnavailableException: io.grpc.StatusRuntimeException: UNAVAILABLE: 

с сообщениями об исключениях, такими как:

 - Network closed for unknown reason io exception 
 - HTTP/2 error code:
 - NO_ERROR Received Goaway max_age 
 - Authentication backend unavailable.
 - The service was unable to fulfill your request. Please try again.
   [code=8a75] 502:Bad Gateway

Исключения чаще всего встречаются в кластерах:

Feb 04 11:29:00.615
Feb 04 11:29:00.479
Feb 04 10:35:48.256
Feb 04 10:35:32.024
Feb 04 10:35:03.760
Feb 04 10:34:52.094
Feb 04 07:36:31.430
Feb 04 07:06:17.025
Feb 04 06:42:13.529
Feb 04 04:32:50.265
Feb 04 04:32:49.845
Feb 04 04:32:49.746
Feb 04 02:57:36.678
Feb 04 02:57:35.700 

Мы получаем о10 из этих исключений каждый день и не может найти никакого отношения к чему-то, что происходит в системе, таких как развертывания, большая нагрузка и т. Д.

Мои вопросы:

  • Будут ли сообщениябудет обработан подписчиком, хотя подтверждение не удается?Похоже, он попытается снова их подтвердить ... но хочу быть уверенным.

  • Как мне продолжить расследование происходящего?

1 Ответ

0 голосов
/ 12 февраля 2019

Если вы еще не получили сообщения, Cloud Pub / Sub продолжит пытаться доставить их, пока вы не подтвердите их или они не истекут в зависимости от ваших настроек.

Не зная больше о вашем коде, это сложнодать вам какой-либо совет о том, как действовать.Долгосрочные каналы grpc (такие как канал потоковой передачи, используемый для подписчиков) могут быть повреждены из-за временных сетевых ошибок.Я бы посоветовал вам продолжить, сообщив об ошибке в соответствующих клиентских библиотеках , которые вы используете, чтобы посмотреть, смогут ли они решить эту проблему или передать ее вверх по потоку в клиентские библиотеки Cloud PubSub, которые они (предположительно) используют.

...