dpol1 commented on PR #3028:
URL: https://github.com/apache/tika/pull/3028#issuecomment-5313970084

   oh nice - this is the seam I was faking on the 4795 branch with a spool file 
and a fake fetcher. with this in core I can drop that bridge entirely and the 
ticket gets to be about the thing that actually matters: same bytes, parse 
profile and semantic hints -> same canonical Document, whichever door the bytes 
come in through. thanks for the cc - I'll rebase onto this once it lands.
   
   three small edges flagged by claude:
   
   - `maxInlineBytes`/`maxIpcPayloadBytes`: the pair check lives in the setter, 
so lowering only `maxIpcPayloadBytes` (say 5m) leaves the 10m inline default 
unvalidated, and `{inline: 95m, ipc: 200m}` passes or fails depending on json 
key order. could the pair be checked after deserialization? server and grpc 
deserialize `PipesConfig` directly, so `load()` alone wouldn't cover them.
   - `PayloadRouter.route()`: if the source throws after the spool file is 
created, no `Routed` exists yet, so nobody deletes the partial file - I 
reproduced a leftover this way.
   - `PipesForkParser.parse()`: the inline body goes into the caller's 
ParseContext and is never restored, so a later file-backed parse retains and 
re-serializes the old body. should it be restored in `finally`, making the 
payload request-owned?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to