Community
Participate
Working Groups
Build ID: I20070210-0800 Steps To Reproduce: 1. Add a new remote site 2. Add a breakpoint in ConnectionThreadManager line 96 3. Click finish More information: AbstractResponse.openStreamWithCancel will peg the CPU when the runnable getInputStream is slow to return.
Created attachment 58787 [details] Patch to fix problem The fix is to move the join inside the for(::) loop. I've attached a patch.
Created attachment 59102 [details] Fixes another problem There are 2 problems 1) A background thread would busy spin while it waited for another thread to connect. If the connector thread takes a long time, the CPU is pegged. 2) The second problem is a race-condition associated with the 2 threads. If the connection is established (or fails) quickly the polling thread may loop forever, again pegging the CPU. This is fixed now.
Dejan, this one is biting us pretty bad, what are your thoughts?
Branko, please review the patch and release into HEAD.
Thanks for the quick attention Dejan. This will have to be added to the beer tab.
Created attachment 59298 [details] Modified patch to fix additional problems These changes preserve exception messages. They also fix disconnect behavior
This is a localized patch - safe to backport to the maintenance stream if you want. I released it into M6 - keep an eye on connection issues before backporting.