ClosedChannelException after 30 seconds

オープン
#658 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
scala

調査の方向性

まず、BlazeServerBuilder、その45秒のアイドルタイムアウト、およびsttp cats-effectバックエンドを使って失敗を再現し、その間にClosedChannelExceptionのログを確認します。タイムアウトが失敗したGitHub API接続を引き起こしているかどうかを判断します。原因を特定し、適切な修正を文書化またはテストできれば完了です。

索引モデルが issue の本文から書いたものです。

説明

module:async-http-client module:blaze-server

logs show:

22:29:50.969 [AsyncHttpClient-885-1] DEBUG org.asynchttpclient.netty.channel.ChannelManager - Adding key: https://api.github.com:443 for channel [id: 0xee990c27, L:/192.168.1.106:37390 - R:api.github.com/140.82.112.6:443]
22:29:50.988 [AsyncHttpClient-773-1] DEBUG io.netty.buffer.PoolThreadCache - Freed 27 thread-local buffer(s) from thread: AsyncHttpClient-773-1
22:29:50.993 [AsyncHttpClient-903-1] DEBUG org.asynchttpclient.netty.channel.NettyConnectListener - Using new Channel '[id: 0xa764e8b8, L:/192.168.1.106:37410 - R:api.github.com/140.82.112.6:443]' for 'GET' to '/repos/github/linux/contributors?page=3'
22:29:50.993 [AsyncHttpClient-903-1] DEBUG io.netty.handler.ssl.SslHandler - [id: 0xa764e8b8, L:/192.168.1.106:37410 - R:api.github.com/140.82.112.6:443] HANDSHAKEN: protocol:TLSv1.2 cipher suite:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
22:29:50.995 [AsyncHttpClient-901-1] DEBUG org.asynchttpclient.netty.channel.NettyConnectListener - Using new Channel '[id: 0x21e59fa8, L:/192.168.1.106:37406 - R:api.github.com/140.82.112.6:443]' for 'GET' to '/repos/github/government.github.com/contributors?page=9'
22:29:50.996 [AsyncHttpClient-901-1] DEBUG io.netty.handler.ssl.SslHandler - [id: 0x21e59fa8, L:/192.168.1.106:37406 - R:api.github.com/140.82.112.6:443] HANDSHAKEN: protocol:TLSv1.2 cipher suite:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
22:29:51.023 [AsyncHttpClient-923-1] DEBUG org.asynchttpclient.netty.channel.NettyConnectListener - Trying to recover from failing to connect channel [id: 0x4bd636a5, L:null ! R:api.github.com/140.82.112.6:443] with a retry value of true
22:29:51.023 [AsyncHttpClient-923-1] DEBUG org.asynchttpclient.netty.channel.NettyConnectListener - Failed to recover from connect exception: java.nio.channels.ClosedChannelException with channel [id: 0x4bd636a5, L:null ! R:api.github.com/140.82.112.6:443]
22:29:51.028 [AsyncHttpClient-927-1] DEBUG org.asynchttpclient.netty.channel.NettyConnectListener - Trying to recover from failing to connect channel [id: 0x5c1111d1, L:null ! R:api.github.com/140.82.112.6:443] with a retry value of true
22:29:51.028 [AsyncHttpClient-927-1] DEBUG org.asynchttpclient.netty.channel.NettyConnectListener - Failed to recover from connect exception: java.nio.channels.ClosedChannelException with channel [id: 0x5c1111d1, L:null ! R:api.github.com/140.82.112.6:443]

My Server is

    val builder = BlazeServerBuilder[F](global)
      .bindHttp(port, address)
      .withIdleTimeout(45.seconds)
      .withSocketKeepAlive(true)
      .withHttpApp(loggingApp).serve.drain

The idletimeout is 45 seconds.
I'm using version 0.22.8. I'm making requests to the github API via the sttp cats-effect backen if that makes a difference.

主要言語
Scala
スター
371
フォーク
63
平均マージ
7時間 47分
マージ済み PR(30日)
5

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

http4s/blaze のほかの issue

http4s/blaze の issue をすべて見る

似ている issue

Scala の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。