jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mattheis, Erik W." <Erik.W.Matth...@espn.com>
Subject Re: Temp File Semantics
Date Mon, 05 Jan 2009 16:43:04 GMT
>> We recently noticed that during heavy load temp
>> files (e.g. - dbRecord12345.tmp) are not getting cleaned up.
>
> Could you post a list of temp files (file name and file sizes)?
> dbRecord...temp doesn't look like a file from the data store (I might be
> wrong).

Unfortunately I do not have a directory listing of the temp directory when the problem occurred
- I was in fire-fighting mode :P

We were serving a 280 MB video file. As I recall, there were what appeared to be 4 or 5 complete
copies of the video file (based on file size match) along with a partially complete file and
about a dozen zero byte files. They were all named dbRecordXXXXX.tmp where XXXXX seems to
be a sequential unique number.

I can only replicate the issue exactly by filling up the temp filesystem, so it's kind of
a pain. However, I can see the dbRecordXXXXX.tmp files during the process of downloading a
file that completes successfully.

Perhaps I should have mentioned we're using Oracle 10g? Maybe there is behavior specific to
this DB?

>> This occurs
>> when the temp filesystem fills up
>
> How much space is available on the temp filesystem?

The temp filesystem generally has about 1.5 GB free at any given time during normal use.

> It seems at this point that Jackrabbit abandons the files and does not make
>> any attempt to remove them from the temp directory. Obviously, this leaves
>> the system in an unusable state until we manually purge the temp files.
>
> Maybe they are deleted, but too late (when the program exits).

At JVM exit is definitely too late for transient files that naturally expire at the end of
the transaction - especially in an app-server environment. I'll dig into our code and make
sure we're ending the transaction properly, but I think Jackrabbit should be aggressive about
cleaning up these files in the event of an exception.

>> 1 - Can I configure the temp directory used by Jackrabbit? I don't want to
>> set the temp directory globally, just for Jackrabbit.
>
> I don't think you can configure it at the moment.
>
>> 4 - If I switch to a filesystem-based datastore instead of a DB-based one,
>> will Jackrabbit still create these transient temp files, or will it simply
>> stream from the existing filesystem?
>
> The file data store creates less temp files (but let's see first if the
> problem is really the data store).

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message