microsoft / microsoft/durabletask-java
GRPC error when calling DurableClientContext.getClient
まだ誰も着手していません。
- 主要言語
- Java
- スター
- 29
- フォーク
- 18
- 平均マージ
- 1日 10時間
- マージ済み PR(30日)
- 2
説明
Hi,
I'm experimenting with writing a Java Durable function and have been getting this strange error message when I try and kick off an orchestration using DurableClientContext.getClient.
The issue is transient.
I'm using Java 17.
All the durable function packages are up to date.
The error occurs running locally on windows as-well as on an Azure Function app in the cloud (linux).
The weird thing is the orchestrations all seem to run so I'd like to know if this is safe to ignore.
The error message looks like this:
[2024-02-20T07:21:36.332Z] Feb 20, 2024 6:21:36 PM io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference cleanQueue
[2024-02-20T07:21:36.333Z] SEVERE: *~*~*~ Previous channel ManagedChannelImpl{logId=157, target=localhost:4001} was not shutdown properly!!! ~*~*~*
[2024-02-20T07:21:36.333Z] Make sure to call shutdown()/shutdownNow() and wait until awaitTermination() returns true.
and it stems from this call where I am about to kick-off a new orchestration.
[2024-02-20T07:21:36.334Z] java.lang.RuntimeException: ManagedChannel allocation site
[2024-02-20T07:21:36.334Z] at io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference.<init>(ManagedChannelOrphanWrapper.java:102)
[2024-02-20T07:21:36.334Z] at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOrphanWrapper.java:60)
[2024-02-20T07:21:36.335Z] at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOrphanWrapper.java:51)
[2024-02-20T07:21:36.335Z] at io.grpc.internal.ManagedChannelImplBuilder.build(ManagedChannelImplBuilder.java:655)
[2024-02-20T07:21:36.336Z] at io.grpc.ForwardingChannelBuilder2.build(ForwardingChannelBuilder2.java:261)
[2024-02-20T07:21:36.336Z] at com.microsoft.durabletask.DurableTaskGrpcClient.<init>(DurableTaskGrpcClient.java:51)
[2024-02-20T07:21:36.337Z] at com.microsoft.durabletask.DurableTaskGrpcClientBuilder.build(DurableTaskGrpcClientBuilder.java:61)
[2024-02-20T07:21:36.337Z] at com.microsoft.durabletask.azurefunctions.DurableClientContext.getClient(DurableClientContext.java:59)
Is it safe to ignore? Should it be logged out?
Thanks,
Graeme
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
com.microsoft.durabletask.azurefunctions.DurableClientContext.getClient から始め、DurableTaskGrpcClientBuilder を介して com.microsoft.durabletask.DurableTaskGrpcClient を構築する仕組みを追跡します。ManagedChannel の一時的な警告をローカルで再現し、クライアントのライフサイクルを gRPC のシャットダウンに関するガイダンスと比較します。完了条件は、チャネルが不適切に開いたままになっているかどうか、および警告を防止すべきか、別の方法でログに記録すべきかを判断することです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- grpc, java
- 領域
- api, backend
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100