Skip to content

fix: UDP_FORWARDERを長時間起動していると新規リクエストを受け付けなくなる問題を修正#235

Draft
toku-sa-n wants to merge 9 commits intoDeNA:masterfrom
toku-sa-n:fix/udp-forwarder-thread-exhaustion
Draft

fix: UDP_FORWARDERを長時間起動していると新規リクエストを受け付けなくなる問題を修正#235
toku-sa-n wants to merge 9 commits intoDeNA:masterfrom
toku-sa-n:fix/udp-forwarder-thread-exhaustion

Conversation

@toku-sa-n
Copy link
Contributor

UDP_FORWARDERにおいて、接続やスレッドが増え続けてしまう問題を解決しました。

Limit active UDP forwarding connections and clean up old resources so long-running traffic no longer exhausts native threads and stops receiving new packets.

Made-with: Cursor
Replace the per-connection duplex flow with a lighter datagram forwarding path so the UDP forwarder spends less time creating transient sessions during bursts.

Made-with: Cursor
Revert the datagram-forwarding rewrite because it breaks UDP forwarder behavior and removes the existing duplex-based processing path.

Made-with: Cursor
Shut down the per-connection receive executor when a UDPConn closes so evicted UDP forwarder connections do not leave worker threads behind. Add a regression test that fails until the cleanup path actually terminates the created thread.

Made-with: Cursor
Keep the UDP leak fixes intact while removing style-only final additions on pre-existing fields.

Made-with: Cursor
Keep the UDP thread leak fix focused by removing cached RawEndpoint members that do not change behavior.

Made-with: Cursor
Keep the UDP thread leak fix focused by dropping the extra start-once guard that is not required by the current call flow.

Made-with: Cursor
Make the UDPConn lifecycle explicit by failing fast when automatic receive is requested after the connection has already been closed.

Made-with: Cursor
Extract the repeated close-and-ignore pattern so the shutdown path stays compact without changing behavior.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant