Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 235764 - JavaHLConnector creates a huge amount of short living threads
Summary: JavaHLConnector creates a huge amount of short living threads
Status: RESOLVED FIXED
Alias: None
Product: Subversive
Classification: Technology
Component: Core (show other bugs)
Version: 0.7   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Alexander Gurov CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-05 02:50 EDT by Micha Riser CLA
Modified: 2011-05-18 06:47 EDT (History)
0 users

See Also:


Attachments
Patch to solve the problem (4.68 KB, patch)
2008-06-05 02:51 EDT, Micha Riser CLA
no flags Details | Diff
improved patch (5.08 KB, patch)
2008-06-05 06:43 EDT, Micha Riser CLA
i.vinnykov: iplog+
Details | Diff
patch for svn kit connector (5.03 KB, patch)
2008-06-05 07:04 EDT, Micha Riser CLA
i.vinnykov: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Micha Riser CLA 2008-06-05 02:50:45 EDT
Build ID: M20080221-1800

Steps To Reproduce:
1. Have projects connected with svn in the workspace
2. Start up eclipse
3.


More information:
Whenever I start eclipse with all my svn projects, there are more than 
1000 threads created by the JavaHLConnector! This degrades performance 
and I have to wait about half a minute until the svn overlays show up 
and eclipse is finally usable. I tracked the issue and noticed that in 
JavaHLConnector, a new thread is created with each new 
ProcessMonitorWrapper. It is much more efficient to use only one thread 
to monitor all process monitors!

I have made a patch where one thread as singleton watches all progress 
monitors for cancellation. For me this improved the startup speed of 
eclpse considerably. This thread stays running all the time (blocked on 
a monitor if it has nothing to do), but could also be killed when it 
has no more things to watch by adding a timeout to the wait().

Same issue concerns the svnkit connector implementation.

Please consider fixing this issue.

Thank you!
Comment 1 Micha Riser CLA 2008-06-05 02:51:19 EDT
Created attachment 103702 [details]
Patch to solve the problem
Comment 2 Micha Riser CLA 2008-06-05 06:43:02 EDT
Created attachment 103718 [details]
improved patch
Comment 3 Micha Riser CLA 2008-06-05 07:04:10 EDT
Created attachment 103719 [details]
patch for svn kit connector

I've also patched SVNKitConnector.java in a similar manner.
Comment 4 Alexander Gurov CLA 2008-06-11 05:10:39 EDT
Thank you for the provided patches. These patches will be included into Subversive 0.7.1 which will come soon.
Comment 5 Alexander Gurov CLA 2008-06-12 05:55:00 EDT
Fixed build will be available at the end of this week.