14 messages in org.apache.jackrabbit.usersRe: Bundled PM tmp files filling up t...
FromSent OnAttachments
harvey watersSep 7, 2007 4:28 am 
Thomas MuellerSep 7, 2007 4:37 am 
harvey watersSep 7, 2007 6:33 am 
Thomas MuellerSep 7, 2007 6:59 am 
harvey watersSep 7, 2007 7:24 am 
Stefan GuggisbergSep 7, 2007 7:31 am 
Thomas MuellerSep 7, 2007 7:37 am 
LoriSep 19, 2007 10:18 am 
Stefan GuggisbergSep 20, 2007 2:55 am 
Nick StolwijkSep 20, 2007 3:15 am 
LoriOct 2, 2007 2:55 pm 
Stefan GuggisbergOct 3, 2007 4:59 am 
LoriOct 11, 2007 2:57 pm 
Yoav LandmanNov 7, 2007 3:19 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Bundled PM tmp files filling up tomcatActions...
From:Lori (lron@translations.com)
Date:Oct 11, 2007 2:57:06 pm
List:org.apache.jackrabbit.users

No. I work with SQL Server.

Two of my colleagues use hypersonic for testing purposes and most of the time see the temp files disappear only on shutdown (not while the application running). I tried running against hypersonic also and I never see the files disappear on shutdown. I am reviewing our configurations - though so far they look the same. I do believe I'm using a newer version of Tomcat, but only 5.5.028 vs. 5.5.023.

Nick Stolwijk-3 wrote:

We have worked with the OracleFileSystem and when the OutputStreams for blob's don't get closed, the tmp file also won't get deleted.

So, do you work with the OracleFileSystem?

Hth,

Nick Stolwijk

Stefan Guggisberg wrote:

hi lori,

On 9/19/07, Lori <lori@yahoo.com> wrote:

I am having the same problem where the tomcat temp directory is filled with bin????.tmp files. The files are stored in the database with (i.e. externalBlobs=false). Sometimes the files go away, but many times they just stick around. I haven't identified why they aren't released, but right now the temp directory has almost 2 Gig's worth of these binary files. If we shut our application down it appears that we can clear out the temp directory. However we can't be shutting it down all the time. We tried removing the files that were 2 days old, and then ran into some problems of files that couldn't be accessed - so we have just left them there till restart. Any ideas, suggestions, configuration help would be apprectiated. Is there a known bug where they are left around?

the only situation i can think of where such temp files could be left around is when the repository is not shut down properly (e.g. by killing the jvm process) or an application on top of jackrabbit holds on to/caches properties/streams returned from the JCR api.

if you store the blob's in the db, the blob will be spooled to a temp file when it's requested (e.g. by a node.getProperty() call). the property is cached, holding a reference to the temp file. once the property is evicted from the cache, the temp file will go away.

therefore, if you have lots of binary properties and they're requested frequently, it's possible that you'll see lots of such temp files since their associated properties are cached.

what jackrabbit version are you using? how many temp files do you typically see?

could you perhaps provide a memory dump of your jvm, taken when you observe lots of such temp files? i'd like to analyze it using a profiler.

btw: the current blob handling will be significantly improved by using a global data store for binaries (see http://issues.apache.org/jira/browse/JCR-926).

cheers stefan

-Lori

Stefan Guggisberg wrote:

On 9/7/07, harvey waters <harv@googlemail.com> wrote:

No sorry I don't have a test case. I just got a 'Disk Full' error on our live server and then took a look in the tomcat temp directory and found all the binaries going back to when we installed the system. I thought these binaries were used as a BLOB cache for JackRabbit, if so I guessed there might be a way of managing them.

assuming you configured jackrabbit to store blobs in the db (i.e. externalBlobs=false), reading a binary property value (e.g. node.getProperty("bin").getStream()) will cause the blob to be spooled from the db to a temp file. note that only *one* temp file will be created. the temp file will be automatically deleted when it's not being referenced anymore and the associated Property object is evicted from the cache. life expectancy of such a temp file should therefore be rather short.

cheers stefan

Currently we're on version 1.3 of JackRabbit.

On 9/7/07, Thomas Mueller <thom@gmail.com> wrote:

Hi,

What version did you use, and do you have a simple test case?

Thanks, Thomas

On 9/7/07, harvey waters <harv@googlemail.com> wrote:

Is there anyway I can stop the bundled PM from filling up the temp

directory

in Tomcat. I aslo noticed that on loading a binary into JackRabbit I

ended

up with 9 duplicated tmp files. Have I done soemthing wrong here or

is

it

JackRabbit ?

Many Thanks

Harvery