Open yaauie opened 1 week ago
I can confirm that the static initialization of the CBOR_MAPPER
occurs berore the Jackson overrides have been applied, and have a local patch to move the Jackson overrides application code over to pure Java so that they can be deterministically applied first. This patch works, and when applied the above issue can no longer be reproduced.
The existing ruby implementation helpfully logs as it goes (and these logs are covered in specs), but since the ObjectMappers
is first loaded (and therefore its components' static initializes fired) before the loggers have been configured, getting the helpful logging and validating that our overrides have taken effect will be tricky.
Logstash information:
Please include the following information:
bin/logstash --version
)8.x
,8.15
,main
Plugins installed: (
bin/logstash-plugin list --verbose
): N/AJVM (e.g.
java -version
): AnyOS version (
uname -a
if on a Unix-like system): AnyDescription of the problem including expected versus actual behavior:
Steps to reproduce:
Provide logs (if relevant):
(using improved pipeline cause-chain logging from elastic/logstash#16677):
Notably:
Notably, setting -Dlogstash.jackson.stream-read-constraints.max-string-length=400000000 does NOT change the error message, indicating that the stream constraint is not applied to the specific deserializer that works with the PQ, possibly because the
CBOR_MAPPER
is configred before the overrides are applied.