MineScale-Java v1.2.13
修正
v1.2.12 の長時間テストで発覚した Room 期限切れ後にホストが relay サーバに秒 60 回の勢いで再接続を試み続ける バグを修正しました。
症状
15 分経過して Room が coord サーバから消えた直後から:
- ホストログに
WARN park failed: relay closed before pairの連打 - サーバログに
WARN relay error: room not foundの連打 - 既存の joiner は当面繋がったまま (v1.2.12 の fix 継続) だが、無駄なパケットが常時流れる
原因
- Room 期限切れ signal が
poll_more_joinersには届くが、relay pool には伝わっていなかった - host_pool の per-task 2 秒 sleep は permit release の後 に置かれていて、4 並列の parker が事実上 backoff 無し状態
修正
stop_new_parkscancellation token を追加、poller から pool に room-expired を伝播 → pool が新規 park を停止- 既存の paired 接続は影響なし (自身の TcpStream を持って独立稼働)
- Pool 全体で共有の指数バックオフ (500ms → 1s → 2s → ... 最大 30s)
- 連続失敗中の warn ログは burst 先頭 1 回だけ
未解決の課題 (次回以降)
paired session が 34 分でジャストに死んだ現象は原因不明 (中間経路の flow-state timeout 疑い)。次回テストで再現するかを見て判断します。