Notes |
(0000406)
oka (administrator)
2008-02-27 21:26
|
Hello,
I've looked through SvnAdaptor code and didn't find any call to SVNClientManager dispose. In case more than one SVNAdaptor instance is used during runtime, each will have its own SVNClientManager instance which keeps timer thread (to close pooled connections on timeout).
So, I'd suggest to call SVNClientManager.dispose(). Actually you may call it after each operation in SvnAdaptor and then use the same, "disposed" SVNClientManager instance - it should work properly in this case as well. |
|
(0000407)
oka (administrator)
2008-02-27 21:33
|
It is interesting that JavaForge uses CodeBeamer that in its turn uses SVNKit - and at some moment they've reported the same problem with SVNKit - CodeBeamer didn't call dispose properly and this caused memory leaks. |
|
(0000409)
lubosp (reporter)
2008-02-27 22:26
|
That might be the reason for the memory leak. I did not write the but I look at the code and at svnkit examples and did not see any use of manager.dispose(). Maybe it should be highlighted in documentation and examples.
I am just rebuilding Luntbuild and will run it under profiler for aabout 24 hours and report the results.
Thanks for quick response and for your help! Lubos |
|
(0000415)
lubosp (reporter)
2008-02-28 21:54
|
I've run Luntbuild for 24 hours with call SVNClientManager.dispose() after each SVN action (log, checkout, etc), and memory leak went away.
I would suggest to highlight the use of dispose() in documentation and in the examples.
Thanks for your help and thanks for great SVN library! |
|