question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

(yaml) Possible performance regression in snakeyaml 1.18

See original GitHub issue

Hi,

I spotted a performance regression in snakeyaml introduced in version 1.18+. This issue has been reported on the snakeyaml mailing list here and seems to affect the parsing of large text values.

It affects jackson-dataformats-text starting version 2.9.1 as it depends on snakeyaml 1.18. Version 1.19 is also problematic but version 1.17 is ok.

I understand that this is not a jackson-dataformats-text issue but I’d like 1) to raise awareness on this regression and 2) to ensure that jackson-dataformats-text dependency on snakeyaml will be updated to a newer version that fixes the regression (if such version is released)

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:16 (9 by maintainers)

github_iconTop GitHub Comments

2reactions
yborovikovcommented, Apr 25, 2018

fyi: snakeyaml 1.20 introduced a breaking (for jackson 2.9.5) change in this commit https://bitbucket.org/asomov/snakeyaml/commits/6cb855839ebc1f3796cff26aa6e5423f1395b975.

java.lang.NoSuchMethodError: org.yaml.snakeyaml.events.MappingStartEvent.<init>(Ljava/lang/String;Ljava/lang/String;ZLorg/yaml/snakeyaml/error/Mark;Lorg/yaml/snakeyaml/error/Mark;Ljava/lang/Boolean;)V

    at com.fasterxml.jackson.dataformat.yaml.YAMLGenerator.writeStartObject(YAMLGenerator.java:489)
    at com.fasterxml.jackson.core.base.GeneratorBase.writeStartObject(GeneratorBase.java:286)
    at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:626)
    at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:33)
    at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
    at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
    at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3893)
    at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3207)
    ...

cc: @asomov

0reactions
cowtowncodercommented, Sep 26, 2018

SnakeYAML version was upgraded, as per #81, so I think this is resolved now.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Possible performance regression when parsing large text ...
Hi all, I tried a Jackson 2.8.6 to 2.9.2 update recently and I've been surprised by the slow performance when parsing YAML files....
Read more >
Bountysource
(yaml) Possible performance regression in snakeyaml 1.18.
Read more >
org.yaml:snakeyaml@1.18 - Snyk Vulnerability Database
Snyk scans for vulnerabilities and provides fixes for free. org. yaml:snakeyaml is a YAML 1.1 parser and emitter for Java. Affected versions of...
Read more >
spring boot java lang noclassdeffounderror org/yaml ...
Upgrading Jackson to a more recent version (2.9.x) would bring a new version of snakeyaml that contains a performance regression (starting 1.18, ...
Read more >
Yaml (SnakeYAML 1.18 API) - Javadoc.io
Parse all YAML documents in a stream and produce corresponding representation trees. String · dump(Object data) Serialize a Java object into a YAML...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found