tballison commented on PR #3383:
URL: https://github.com/apache/tika/pull/3383#issuecomment-6315897708
Couple of nits from my :robot: I don't agree with the bot's choice of
overrides. I think commandline should be allowed to override the config.json as
long as the logging is clear that that is what is happening.
I didn't look closely, does this PR throw if a requested preset doesn't
exist?
```
Maintainer decision
- Should the CLI/env override an inline definition? The second commit
(aee135edd5) makes --preset X / TIKA_PRESETS=X replace the file's entry with
true, including an inline object. Two consequences:
- Silent: say the file defines its own thumbnail object and
TIKA_PRESETS=thumbnail is set, e.g. baked into a derived image or Helm values.
The
operator's content is quietly swapped for the catalog's. The log line
says "activated by", not "replaced".
- Confusing: naming a preset that exists only inline (--preset mine)
fails startup with "true activates a catalog preset…", a true the user never
wrote.
I'd recommend: an object entry in the file wins, or fail startup on that
conflict. A false/null/absent entry becomes true, which keeps "the CLI
wins over false". Either way the docs and
testPresetsOverrideTheConfigsOwnEntries change.
Edge cases
1. /async doesn't see CLI/env presets. TikaServerProcess.java:552 builds
AsyncResource(tikaServerConfig.getConfigPath()) from the raw file, and the
tuple deserializer accepts a preset field. So --preset thumbnail plus
an /async tuple with preset=thumbnail gets PRESET_NOT_FOUND, which
contradicts "the same as "name": true". Fix it by feeding /async the
merged config, or document that /async only reads the file.
2. A malformed presets value is now silently accepted. If the file has
"presets": "thumbnail" or an array, startup used to fail ("must be an
object"). With any --preset, getOrCreateObject overwrites it with an
object instead. Throw in ConfigMerger when presets exists and isn't an
object.
```
--
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]