[
https://issues.apache.org/jira/browse/TIKA-2785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16693319#comment-16693319
]
Tim Allison commented on TIKA-2785:
-----------------------------------
Sorry, you're right, [~lfcnassif]. Thank you for raising this.
I just tested the ForkParser with a log file configured to write to stdout, and
I tested it with the updated MockParser that grabs stdout statically, and the
ForkParser worked well with both.
> 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)