jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fabián Mandelbaum <fmandelb...@gmail.com>
Subject Problem with JackRabbit 1.4 and temporary bin*tmp files
Date Mon, 26 Jan 2009 13:10:27 GMT
Hello,

    I'm using JackRabbit 1.4.7 with a transient repository configured
'by default' (Derby, FS persistence manager).

    I store content in standard nt:file nodes with a mixin type I've
defined to store some content metadata. All content is stored as binary
(I don't want zillion of nodes for XML files for example, I just want
one node with its corresponding resource node and associated
children/siblings).

    When my app browses a(n nt:)folder with many files (say 200 or 300)
or when it uses those files, the temp (java.io.tmp) folder is filled
with 200+ or 300+ bin*.tmp files and Tomcat dies with, or throws back to
my app, a 'too many open files' exception (cannot remember exactly the
exception details, I'll try to reproduce and provide full details if
strictly needed to help pinpoint/solve this issue).

    At first I thought that some streams were being left open or that I
was handling streams improperly, thus resorted to using CommonIO's
AutoCloseInputStream to handle the streams. This helped a bit, but after
a few browsing back-and-forth or using content for some things, Tomcat
throws the exception inevitably. All I achieved was extending its life a
bit.

    When I close the application and stop Tomcat, all bin*.tmp files
dissapear.

    So, yes, I am closing the streams, yes, I do logout from the JCR
session in the finally block of the try, no it doesn't always work
because there are lots of bin*.tmp files in the temp folder. It looks
like if JackRabbit is "caching too much".

    I can provide as much detail as possible (jar versions, etc, etc.)
if needed.

    Help is much appreciated, thanks.

Mime
View raw message