[
https://issues.apache.org/jira/browse/TIKA-2725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16619523#comment-16619523
]
Hudson commented on TIKA-2725:
------------------------------
FAILURE: Integrated in Jenkins build tika-2.x-windows #315 (See
[https://builds.apache.org/job/tika-2.x-windows/315/])
TIKA-2725 -- checkpoint commit ... basic child process is started...need
(tallison: rev bf1b2418d47e9fa47e0634825341921d7edd1ee8)
* (add) tika-server/src/main/java/org/apache/tika/server/ServerStatus.java
* (add) tika-server/src/main/java/org/apache/tika/server/TaskStatus.java
* (edit) tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java
* (add)
tika-server/src/main/java/org/apache/tika/server/FileCountExceededException.java
* (add) tika-server/src/test/java/org/apache/tika/server/ServerStatusTest.java
* (add)
tika-server/src/test/java/org/apache/tika/server/ServerIntegrationTest.java
* (add)
tika-server/src/main/java/org/apache/tika/server/ServerStatusWatcher.java
TIKA-2725 -- further cleanups and merge conflicts (tallison: rev
f10c8fe884987920c5332885f414ecd8c06ddc05)
* (add) tika-server/src/test/resources/mock/heavy_hand_100.xml
* (add) tika-server/src/test/resources/mock/heavy_hang_30000.xml
* (edit)
tika-server/src/test/java/org/apache/tika/server/TranslateResourceTest.java
* (edit)
tika-server/src/main/java/org/apache/tika/server/resource/DetectorResource.java
* (edit) tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java
* (delete)
tika-server/src/test/java/org/apache/tika/server/ServerIntegrationTest.java
* (edit)
tika-server/src/main/java/org/apache/tika/server/resource/TikaWelcome.java
* (delete)
tika-server/src/main/java/org/apache/tika/server/FileCountExceededException.java
* (add) tika-server/src/main/java/org/apache/tika/server/TikaServerWatchDog.java
* (edit)
tika-server/src/main/java/org/apache/tika/server/resource/TikaVersion.java
* (edit) tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java
* (add) tika-server/src/test/resources/mock/thread_interrupt.xml
* (edit) tika-server/src/test/java/org/apache/tika/server/StackTraceOffTest.java
* (add)
tika-server/src/test/java/org/apache/tika/server/TikaServerIntegrationTest.java
* (edit) tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java
* (edit)
tika-server/src/main/java/org/apache/tika/server/resource/TikaResource.java
* (edit) tika-server/src/main/java/org/apache/tika/server/ServerStatus.java
* (add) tika-server/src/test/resources/mock/system_exit.xml
* (edit)
tika-server/src/main/java/org/apache/tika/server/ServerStatusWatcher.java
* (add) tika-server/src/main/java/org/apache/tika/server/ServerTimeouts.java
* (edit) tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java
* (edit) tika-server/src/test/java/org/apache/tika/server/ServerStatusTest.java
* (edit)
tika-server/src/main/java/org/apache/tika/server/resource/TranslateResource.java
* (edit)
tika-server/src/test/java/org/apache/tika/server/DetectorResourceTest.java
* (add) tika-server/src/test/resources/mock/real_oom.xml
TIKA-2725 -- fix merge conflicts (tallison: rev
daec8dbe6024938ec51a42840f09bb4050c6e3f4)
* (edit)
tika-server/src/main/java/org/apache/tika/server/resource/DetectorResource.java
TIKA-2725 -- first working draft...include commit with conflicts (tallison: rev
79d9d57cd6dfd79beedcb1fa2f517229e2bd3c84)
* (edit)
tika-server/src/main/java/org/apache/tika/server/resource/TikaResource.java
TIKA-2725 -- add synchronization to avoid potential NPE in watcher (tallison:
rev b5445be6da15d97467ff9ba6568f0d33ee1bbd81)
* (edit)
tika-server/src/main/java/org/apache/tika/server/TikaServerWatchDog.java
> Make tika-server robust against ooms/infinite loops/memory leaks
> ----------------------------------------------------------------
>
> Key: TIKA-2725
> URL: https://issues.apache.org/jira/browse/TIKA-2725
> Project: Tika
> Issue Type: Task
> Reporter: Tim Allison
> Assignee: Tim Allison
> Priority: Major
> Fix For: 1.19, 2.0.0
>
>
> Currently, tika-server is vulnerable to ooms, inifinite loops and memory
> leaks. I see two ways of making it robust:
> 1) use the ForkParser
> 2) have tika-server spawn a child process that actually runs the server, put
> a watcher thread in the child that will kill the child on oom/timeout/after x
> files. The parent process can then restart the child if it dies.
> I somewhat prefer 2) so that we don't have to doubly pass the inputstream. I
> propose 2), and I propose making it optional in Tika 1.x, but then the
> default in Tika 2.x. We could also add a status ping from parent to child in
> case the child gets caught up in stop the world gc (h/t [~bleskes]).
> Other options/recommendations?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)