You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Tim Allison (Jira)" <ji...@apache.org> on 2026/09/25 16:43:00 UTC
[jira] [Resolved] (TIKA-4932) PipesForkParser: metadata passed to parse() overwrites the fork's parse results
[ https://issues.apache.org/jira/browse/TIKA-4932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tim Allison resolved TIKA-4932.
-------------------------------
Fix Version/s: 4.1.0
Resolution: Fixed
> PipesForkParser: metadata passed to parse() overwrites the fork's parse results
> -------------------------------------------------------------------------------
>
> Key: TIKA-4932
> URL: https://issues.apache.org/jira/browse/TIKA-4932
> Project: Tika
> Issue Type: Task
> Reporter: Tim Allison
> Priority: Major
> Fix For: 4.1.0
>
>
> :robot: :
> PipesForkParser.parse(tis, metadata, context) sends the caller's metadata as the tuple's user metadata. EmitHandler.injectUserMetadata() then overwrites the parsed values with it. Callers pass
> Content-Type and resourceName as hints for detection, as they would to Parser.parse(). What they get back is their own hint in place of the detected type. For example, a PDF served as text/html;
> charset=UTF-8 comes back with the raw header value as its Content-Type.
> The overwrite is intended for async and server users, who inject IDs this way, so the fix belongs in PipesForkParser: metadata the caller passes should be used for detection and parsing, not
> injected back into the result. Tell users about the behavior change in the release notes.
>
> Found by [~dpol1] on apache/stormcrawler#2183.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)