Skip to content

Non-blocking parsing issue #389

Closed
Closed
@sdeleuze

Description

@sdeleuze

When doing some integration tests before releasing Spring Framework 5.0 RC3 expected to be released tomorrow, we found some errors that could be related to the non-blocking parsing introduced by Jackson 2.9.0.pr4 via issue #57 that we leverage. The error could be on Spring side, but since it seems to be at byte level it is maybe on Jackson side. In any case, some guidance would really help us. It seems to affect the last fields of an object to deserialize.

This issue can be reproduced with this project: https://github.com/sdeleuze/demo-java-jackson-non-blocking/tree/master. The test works with springBootVersion = '2.0.0.M2' which does not use non-blocking parsing and fails with springBootVersion = '2.0.0.BUILD-SNAPSHOT' which uses non-blocking parsing.

The error we have with non-blocking parser is the following like if we missed some data:

java.lang.AssertionError: expectation "expectNext(Event{id='0', start=-999999999-01-01, end=+999999999-12-31})" failed (expected value: Event{id='0', start=-999999999-01-01, end=+999999999-12-31}; actual value: Event{id='0', start=-2735938-12-30, end=null})

In MiXiT application, the issue is visible in almost all JSON based integration unit tests, including with errors like that:

JSON decoding error: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
 at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: mixit.model.User["links"])))

Any thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions