I’m seeing the following log messages in catalina.out:
INFO: Deploying web application directory ROOT
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [] appears to have started a thread named [FinalizableReferenceQueue] but has failed to stop it.
This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [] appears to have started a thread named [MultiThreadedHttpConnectionManager cleanup] but has f
ailed to stop it. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [org.dspace.services.caching.ThreadLocalMap] (value [o
rg.dspace.services.caching.ThreadLocalMap@d32560]) and a value of type [java.util.HashMap] (value [{}]) but failed to remove
it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
3adaaa]) and a value of type [org.apache.cocoon.environment.internal.EnvironmentStack] (value [[]]) but failed to remove it
when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
1ea0b8a]) and a value of type [org.apache.xerces.parsers.SAXParser] (value [org.apache.xerces.parsers.SAXParser@bfa709]) but
failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
9b9a36]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1a95d
e6]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
3adaaa]) and a value of type [org.apache.cocoon.environment.internal.EnvironmentStack] (value [[]]) but failed to remove it
when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
53bd6e]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1b9c0
86]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
ecd7c]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1d4afe
d]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
6a081c]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@13a9a
cb]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
88a3ce]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@ba2bb
5]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
1ea0b8a]) and a value of type [org.apache.xerces.parsers.SAXParser] (value [org.apache.xerces.parsers.SAXParser@b481ba]) but
failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
8b8bf0]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1903d
f2]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
ecd7c]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@d2dbab
]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
9b9a36]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@153ca
70]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
3adaaa]) and a value of type [org.apache.cocoon.environment.internal.EnvironmentStack] (value [[]]) but failed to remove it
when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
6a081c]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@f86ec
]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
88a3ce]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@16313
e3]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
1ea0b8a]) and a value of type [org.apache.xerces.parsers.SAXParser] (value [org.apache.xerces.parsers.SAXParser@1a88001]) bu
t failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
53bd6e]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1aeaf
42]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
8b8bf0]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1741c
0b]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
9b9a36]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1dd54
78]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
3adaaa]) and a value of type [org.apache.cocoon.environment.internal.EnvironmentStack] (value [[]]) but failed to remove it
when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
53bd6e]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1d4ad
e8]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
ecd7c]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1e5865
d]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
6a081c]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1d884
3d]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@
88a3ce]) and a value of type [org.apache.lucene.index.SegmentTermEnum] (value [org.apache.lucene.index.SegmentTermEnum@1d1f6
0e]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Sep 19, 2010 8:01:33 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
Damian Marinaccio
The Wallace Center
90 Lomb Memorial Drive
Rochester, NY 14623
CONFIDENTIALITY NOTE: The information transmitted, including attachments, is intended only for the person(s) or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and destroy any copies of this information.
On Mon, 20 Sep 2010, Damian Marinaccio wrote:> [...]
> I'm seeing the following log messages in catalina.out:
> SEVERE: The web application [] appears to have started a thread named [FinalizableReferenceQueue] but has failed to stop it.There are quite a few memory leaks in DSpace. We have a cronjob to restart
> This is very likely to create a memory leak.
Tomcat nightly, because otherwise it'll break the next day.
(2) We currently don't have a centralized server with enough test data
to run many of these memory or scalability tests on our own. I think
this is something we could look into improving upon (especially if
anyone has test data to donate to the cause).
I agree with Robin T.
that it is in everyone's interest to improve our performance testing
prior to each release. I'd also encourage Graham (and others) to share
their testing routes so that we can work to make this happen, and start
to locate these performance issues *before* new releases, rather than after.
Using the XMLUI.
Does DSpace really need this and what happens when we go to one million items ??
A lot of the back-end code of DSpace, the very core of it, is inherently inefficient
------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ DSpace-tech mailing list DSpac...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-tech
-- Hilton Gibson Systems Administrator JS Gericke Library Room 1053 Stellenbosch University Private Bag X5036 Stellenbosch 7599 South Africa Tel: +27 21 808 4100 | Cell: +27 84 646 4758
"Simplicity is the ultimate sophistication" Leonardo da Vinci
SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 </Location> I have a feeling I could do more in this area, to improve stability. I'm very wary of just restarting DSpace servlets (by touching the context fragment for the application to force a reload) because in the past I've noticed that doing so seems to break the proxy connection between Tomcat and Apache. Users see "503: service unavailable" errors. We instead stop, pause, and start everything (Tomcat, Apache, Handle), any time we need to load a new version of a DSpace servlet. Sometimes, erm, we have to do it twice. :-\ Anyone have any tricks for that? I'd love to be able to just reload a servlet, instead of starting and stopping the whole jalopy. :-) --Hardy ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ DSpace-tech mailing list DSpac...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-tech
-- Hilton Gibson Systems Administrator JS Gericke Library Room 1053 Stellenbosch University Private Bag X5036 Stellenbosch 7599 South Africa Tel: +27 21 808 4100 | Cell: +27 84 646 4758
"Simplicity is the ultimate sophistication" Leonardo da Vinci
I know you like to talk down the problem, but that really isn't helping.
We run 5 DSpace instances, three of these are systems with hundreds of thousands of items, and it's dog slow and immensely resource-intensive. And yes, we want these to be single systems. Why shouldn't we?
Which nobody has requested, making this a massive red herring. I failto see how cutting back on unnecessary and redundant database access
constitutes "overhead to cover up the problems of larger
repositories".
Any repository, regardless of size, will see
improvements with this kind of optimisation, at least one example of
which I have already highlighted (and had my arguments shouted down -
this is also, incidentally, why I haven't bothered to open any other
JIRA tickets on other performance issues we've seen. What would be the
point?)
The pertinent question for me is why, whenever the issue of
performance comes up, is one of these "theoretical future of
repositories" screeds pulled out and slammed down in front of the
conversation? People are reporting problems with the systems they have
*right now*.
Or rather, they were. And yes, it is true that there is a
finite limit to what the hardware is capable of, but the quality of
the software plays a significant role in how quickly that limit is
reached. But we've had this conversation before. I don't really expect
it to end any better this time than it did then.
Any method of increasing the processing capabilities of a system,either through more powerful hardware or improvements in the software,
is "postponing the inevitable" for any repository with continued
growth. The difference is in how much cost there is to any individual
repository in each of those methods. Our system, with the changes
we've made to it, struggles at around 300,000 items. People are
reporting problems (presumably running stock 1.6.2) at around 50,000,
from what I can gather.
That means that the optimum size for a single
repository running unmodified 1.6.2 is less than 50,000 items, or more
than six separate DSpace instances for the number of items we hold.
That's at least a sixfold increase in hardware and operational costs.