AdminClient and DNS lookup issue
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
- #3300 @yashdotdev13 による — マージされずにクローズ
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
調査の方向性
関連する issue 2914 と Kafka Streams binder の設定から始め、AdminClient の作成と /actuator/health/binders/kstream がどのようにステータスを導出するかを調査します。Endpoint による broker の到達可能性と、説明されている DNS 障害時の動作を比較します。完了の条件は、根本原因を文書化し、説明されている障害に対する recovery または liveness のアプローチを検証することです。
索引モデルが issue の本文から書いたものです。
説明
@sobychacko
- We are facing an issue similar to issue - https://github.com/spring-cloud/spring-cloud-stream/issues/2914
We are using Spring cloud stream and using Kafka Streams binder configuration. This is what our configuration looks like:
spring:
cloud:
stream:
bindings:
<input>:
<destination>
kafka:
bindings:
<input>:
consumer:
dlq-name: <name>
configuration:
offset-reset-strategy: latest
group.id: <id>
streams:
binder:
auto-create-topics: false
configuration:
session.timeout.ms: 12000
max.poll.interval.ms: 5000
heartbeat.interval.ms: 40000
reconnect.backoff.ms: 500
reconnect.backoff.max.ms: 2000
retry.backoff.ms: 1000
retry.backoff.max.ms: 2000
-
We are still seeing the AdminClient trying to get instantiated and hence seeing authentication related issues. We are using SASL/SSL authentication methodology. What is the root cause of this happening internally? Why is an adminClient getting instantiated?
-
Also, we are seeing DNS lookup issues from our K8s clusters when trying to resolve kafka broker hostnames to its IP address when our consumer application is running. This connection gets broken when theres a DNS maintenance or change, and the consumer goes into idle/limbo state and stops consuming any messages from the kafka topic, even though the application seems like its running without any error logs. We are finding ourselves having to restart the AKS pods manually and this is causing significant delays and slowing productivity.
We have tried an auto-healing mechanism but couldn't test this out in lower environments since we were unable to replicate the unique scenario of DNS being unable to resolve broker host IPs. So we're kind of waiting for the issue to show up in prod to test out if auto-heal mechanism actually works. The way we implemented it is by making a liveness health check to the /actuator/health/binders/kstream endpoint, and checking the binder status. We restart the pod if it remains down status for 6 mins. We are currently not sure if the K8s liveness check actually checks the connection to the broker or it only hits the endpoint and gets its status, in which case I believe the pod wouldn't get restarted.
Do you have any thoughts on these concerns? I would like to hear your thoughts on these and share any troubleshooting or any other implementations we could consider for our application to build resilience when theres a network outage.
Please let me know if there are any questions or clarifications you need.
Thanks,
Santhosh
- 主要言語
- Java
- スター
- 1.1k
- フォーク
- 653
- 平均マージ
- 2日 15時間
- マージ済み PR(30日)
- 8
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
spring-cloud/spring-cloud-stream のほかの issue
-
Deadlock between `KafkaBinderMetrics.close()` and the offset-lag task on context shutdown対応中かも @caiocv18 が 3 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
spring-cloud/spring-cloud-stream#3332 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Kafka binder health-check consumer failures return DOWN without logging the exception対応中かも @Sanskar121543 が 5 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 25/100
spring-cloud/spring-cloud-stream#3329 ·
メンテナーはふだん 1 日以内に返信
-
Kafka pollable consumers lose ConsumerFactory listeners when max.poll.records is greater than oneオープン
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
spring-cloud/spring-cloud-stream#3324 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 74/100
spring-cloud/spring-cloud-stream#3316 ·
メンテナーはふだん 1 日以内に返信
-
StreamBridge removing BindingProperties leads to wrong destination in ProvisioningProvider再び着手できるかも @olegz が 63 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンbug
spring-cloud/spring-cloud-stream#3257 · コメント 6 件 · リアクション 2 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
spring-cloud/spring-cloud-stream の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
logisim-evolution/logisim-evolution#3192 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
Area-UIUX Issue-Bug Issue-Easy (good first issue)
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
TeamAmaze/AmazeFileManager#4769 ·
メンテナーはふだん 7 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
open-feature/java-sdk#2076 ·
メンテナーはふだん 1 日以内に返信
-
Expose SManga.memo & SChapter.memo fields in GraphQL APIs to support source-specific client featuresオープンenhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Suwayomi/Suwayomi-Server#2551 ·
メンテナーはふだん 9 日以内に返信
-
WebSocketClientExtensionHandler does not release the handshake response when it rejects an extensionオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信