Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
jtsk_2.1
-
None
-
n/a
-
6319638
Description
Bugtraq ID 6319638
When a ConnectionManager instance attempts to create a background thread for reaping idle (outbound) connections that it has created, if that attempt throws an OutOfMemoryError, then it will never try to create such a reaper thread again, because it will have already set its "reaper" field to a non-null value, which will falsely indicate to all future invocations of the same code that the reaper thread is already running (it only gets reset to null by a running reaper thread that is about to self-terminate). This condition will cause all future connections made by that ConnectionManager instance to not time out naturally (ConnectionManager instances are per endpoint value).
[Note that this bug will likely get fixed as part of the fix for RIVER-229 [Bugtraq ID 6291824], but it seemed important to file it as a distinct issue.]