You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2018/11/19 20:38:01 UTC

[jira] [Commented] (TIKA-2785) Switch parent/child IPC to mmap file from stdout/stderr in tika-server

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

Hudson commented on TIKA-2785:
------------------------------

UNSTABLE: Integrated in Jenkins build tika-2.x-windows #351 (See [https://builds.apache.org/job/tika-2.x-windows/351/])
TIKA-2785 -- switch communication from child to parent to a shared (tallison: rev a88b8ab64c75869c08701aad9607fc56020c2e1b)
* (edit) tika-server/src/main/java/org/apache/tika/server/TikaServerWatchDog.java
* (edit) tika-server/src/main/java/org/apache/tika/server/ServerTimeouts.java
* (edit) tika-server/src/test/resources/logging/log4j_child.xml
* (edit) tika-server/src/main/java/org/apache/tika/server/ServerStatus.java
* (edit) tika-server/src/main/java/org/apache/tika/server/ServerStatusWatcher.java
* (edit) CHANGES.txt
* (add) tika-server/src/test/resources/mock/heavy_hang_100.xml
* (add) tika-core/src/main/java/org/apache/tika/io/MappedBufferCleaner.java
* (edit) tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java
* (edit) tika-server/src/test/java/org/apache/tika/server/TikaServerIntegrationTest.java
* (delete) tika-server/src/test/resources/mock/heavy_hand_100.xml


> Switch parent/child IPC to mmap file from stdout/stderr in tika-server
> ----------------------------------------------------------------------
>
>                 Key: TIKA-2785
>                 URL: https://issues.apache.org/jira/browse/TIKA-2785
>             Project: Tika
>          Issue Type: Task
>            Reporter: Tim Allison
>            Assignee: Tim Allison
>            Priority: Major
>             Fix For: 2.0.0, 1.20
>
>
> When I added {{-spawnChild}} to tika-server, I followed the pattern in ForkParser of redirecting stdout/stderr for the parent to listen to output from the child process.  This relies on the parsers not grabbing a pointer to stdout/stderr _before_ we redirect it.  However, it is possible for parsers to grab stdout/stderr during static initialization, as happens with log4j configured to write to stdout/stderr.
> This means that the communication channel from child to parent is unreliable.  Let's switch child to parent communication in {{-spawnChild}} to a shared mmap'd file.  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)