Hi,

I am currently developing a server application that uses jackrabbit as
content repository.
During test runs I noticed the application piling up memory even at times
when the application only executes simple queries. I am quite (though of
course not absolutely) sure that it is not the application itself holding
the memory. The (web-)application uses shortlived JCR sessions, opening the
session, executing some queries and logging out again per request, the
repository instance itself remains in memory all the time.

Running the application with -Xrunhprof:heap=sites gives some hints pointing
in direction of the query parser (see results below).

The code I use to execute the query is included below.

I am using Tomcat 5.5, JDK 1.5.0_06 on Windows 2003 server, Persistence
Manager is SimpleDbPersistenceManager connecting to a MySQL 5.0 database.
I am using a Build of jackrabbit created on 28.12.2005.

Are there any known issues concerning memory leaks?
Are there any hints what I could do to further isolate the problem?

Any help will be greatly appreciated!

Regards

Daniel


Code Snippet of the function :
==============================

QueryManager queryManager = session.getWorkspace().getQueryManager();
Query query = queryManager.createQuery( queryText, Query.SQL );
QueryResult queryResult = query.execute();
return queryResult;
[ return queryresult, logout from session ... ]


HPROF Excerpt:
==============

SITES BEGIN (ordered by live bytes) Thu Jan 05 15:44:55 2006
          percent          live          alloc'ed  stack class
 rank   self  accum     bytes objs     bytes  objs trace name
    1 17.55% 17.55%   5936800  362   5936800   362 329857 int[]
    2 17.55% 35.09%   5936800  362   5936800   362 329856 int[]
    3  8.78% 43.88%   2971296  362   2971296   362 329855 char[]
    4  2.01% 45.88%    679328 21229   5142240 160695 318751
org.apache.commons.collections.map.AbstractReferenceMap$WeakRef
    5  1.56% 47.45%    528888   86   2053592   148 331237 byte[]

TRACE 329857:
        
org.apache.jackrabbit.core.query.sql.SimpleCharStream.<init>(SimpleCharStrea
m.java:263)
        
org.apache.jackrabbit.core.query.sql.SimpleCharStream.<init>(SimpleCharStrea
m.java:269)
        
org.apache.jackrabbit.core.query.sql.JCRSQLParser.<init>(JCRSQLParser.java:1
132)
        
org.apache.jackrabbit.core.query.sql.JCRSQLQueryBuilder.createQuery(JCRSQLQu
eryBuilder.java:127)

TRACE 329856:
        
org.apache.jackrabbit.core.query.sql.SimpleCharStream.<init>(SimpleCharStrea
m.java:262)
        
org.apache.jackrabbit.core.query.sql.SimpleCharStream.<init>(SimpleCharStrea
m.java:269)
        
org.apache.jackrabbit.core.query.sql.JCRSQLParser.<init>(JCRSQLParser.java:1
132)
        
org.apache.jackrabbit.core.query.sql.JCRSQLQueryBuilder.createQuery(JCRSQLQu
eryBuilder.java:127)

TRACE 329855:
        
org.apache.jackrabbit.core.query.sql.SimpleCharStream.<init>(SimpleCharStrea
m.java:261)
        
org.apache.jackrabbit.core.query.sql.SimpleCharStream.<init>(SimpleCharStrea
m.java:269)
        
org.apache.jackrabbit.core.query.sql.JCRSQLParser.<init>(JCRSQLParser.java:1
132)
        
org.apache.jackrabbit.core.query.sql.JCRSQLQueryBuilder.createQuery(JCRSQLQu
eryBuilder.java:127)


Reply via email to