Tim Allison created TIKA-4932:
---------------------------------
Summary: 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
: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)