You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Nicholas DiPiazza (Jira)" <ji...@apache.org> on 2024/05/09 16:51:00 UTC

[jira] [Comment Edited] (TIKA-4252) PipesClient#process - seems to lose the Fetch input metadata?

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

Nicholas DiPiazza edited comment on TIKA-4252 at 5/9/24 4:50 PM:
-----------------------------------------------------------------

What I need is to be able to send "Fetch Metadata" such as a bearer token to a single fetch() request

per-fetch-request variable.


was (Author: ndipiazza):
What I need is to be able to send "Fetch Metadata" such as a bearer token to a single request

per-fetch-request variable.

> PipesClient#process - seems to lose the Fetch input metadata?
> -------------------------------------------------------------
>
>                 Key: TIKA-4252
>                 URL: https://issues.apache.org/jira/browse/TIKA-4252
>             Project: Tika
>          Issue Type: Bug
>            Reporter: Nicholas DiPiazza
>            Priority: Major
>             Fix For: 3.0.0
>
>
> when calling:
> PipesResult pipesResult = pipesClient.process(new FetchEmitTuple(request.getFetchKey(),
>                     new FetchKey(fetcher.getName(), request.getFetchKey()), new EmitKey(), tikaMetadata, HandlerConfig.DEFAULT_HANDLER_CONFIG, FetchEmitTuple.ON_PARSE_EXCEPTION.SKIP));
> the tikaMetadata is not present in the fetch data when the fetch method is called.
>  
> It's OK through this part: 
>             UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get();
>             try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(bos))
> {                 objectOutputStream.writeObject(t);             }
>             byte[] bytes = bos.toByteArray();
>             output.write(CALL.getByte());
>             output.writeInt(bytes.length);
>             output.write(bytes);
>             output.flush();
>  
> i verified the bytes have the expected metadata from that point.
>  
> UPDATE: found issue
>  
> org.apache.tika.pipes.PipesServer#parseFromTuple
>  
> is using a new Metadata when it should only use empty metadata if fetch tuple metadata is null.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)