例外の発生
Grpc.Core.Channel インスタンスの生成後、デバッグ実行時に約 1 秒おきに次のような例外ログが出力されるようになりました。 例外は内部で処理され、プログラムの実行は停止されません。gRPC の通信処理も正常に処理されます。
例外がスローされました: 'System.Threading.Tasks.TaskCanceledException' (mscorlib.dll の中)
情報収集
GitHub の Issue でこの現象が検討されているのを発見しました。
Performance issues caused by expensive exceptions thrown in RunConnectivityWatcherAsync #13227
Channel クラスの WaitForStateChangedAsync メソッドの中でチャネルの状態を監視しており、ここで 1 秒おきにタイムアウトが発生し、TaskCanceledException がスローされているとのことです。これは 1.9.0-pre2 で解決しているようです。
1.9.0 に更新
NuGet で 1.9.0 に更新したところ、確かに例外は発生しなくなりました。
ただ、結局なぜ突然発生したのかはわからず。
0 件のコメント:
コメントを投稿