Hello,
I'm using v1.3.3 and am having a problem running a jackrabbit instance
within tomcat. I'm doing a simple query to get information out of the
repository within a stress test. Tomcat's file descriptors under linux
start to grow and don't seem to drop. Eventually, tomcat dies with the
following exception:
java.net.SocketException: Too many open files
at java.net.ServerSocket.createImpl(ServerSocket.java:255)
at java.net.ServerSocket.getImpl(ServerSocket.java:205)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init>(ServerSocket.java:141)
at
org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(Defau
ltServerSocketFactory.java:49)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.
java:292)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint.
java:480)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:70)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)
at java.lang.Thread.run(Thread.java:595)
Looking at the processes fd directory shows a large number of files open
to /u01/cschmidt/repository/revision.log
JCR-1170 seems similar. But I'm not certain it fixes this particular
problem. Is this an issue with the cluster (I'm using a clustered
setup), or is 1170 actually the fix for this problem? I've watched the
directory, and the number of descriptors is slowly going down, but it's
only dropped 5 (out of 1026) in the past 10 minutes.
Another possibility is that I'm not freeing the resources properly after
the query. I logout of the session when I finished. As far as I've
seen with example code, that's the only place where I need to do that.
I'm also using a transient repository if that helps.
Any thoughts?
Thanks,
Chris Schmidt