tika-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nick Burch (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TIKA-654) Resources not properly closed
Date Fri, 06 May 2011 01:25:03 GMT

    [ https://issues.apache.org/jira/browse/TIKA-654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13029687#comment-13029687

Nick Burch commented on TIKA-654:

I've made NPOIFSFileSystem and OPCPackage closeable in r1100013. That'll be in POI 3.8 beta

In r1100015 I've made TikaInputStream close the open container as you suggest, thanks for
that. For now you'll need to use a nightly build (or your custom build) of POI to see the
effect of that, but it'll kick in properly when 3.8 beta 3 is out.

> Resources not properly closed
> -----------------------------
>                 Key: TIKA-654
>                 URL: https://issues.apache.org/jira/browse/TIKA-654
>             Project: Tika
>          Issue Type: Bug
>          Components: parser
>    Affects Versions: 1.0
>         Environment: Tested on OSX and Linux debian
>            Reporter: Enrico Donelli
>             Fix For: 1.0
> We have a thread which parser > 200k files, and we always get "too many open files
open" error from operating system. Using lsof I noticed tha apache-tika temp files (created
by class temporaryFiles) are not really deleted by operating system, even if delete method
returns true.
> Searching in the code, I found that the problem (which does not manifest with all the
files) is probably in TikaInputStream#close method. Here opencontainer is set to null, but
in case of opencontainer instance of org.apache.poi.poifs.filesystem.NPOIFSFileSystem the
problems disappear if I call close() on opencontainer. I modified the NPOIFSFileSystem class
to implement java.io.Closeable, and modified TikaInputStream#close method to make 
> 	if (openContainer instanceof java.io.Closeable) {
> 			((java.io.Closeable) openContainer).close();
> 		}
>         openContainer = null;
> I don't know if this is the best solution, but it seems to solve the problem for me.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message