Skip to content

Investiguate migration to Jackson 3 #14597

@loicmathieu

Description

@loicmathieu

Describe the issue

Jackson 3 is the new version of Jackson.
As Jackson is used in core for JSON and ION serialization and in a lot of plugins, we need to evaluate wheter we can migrate or not to Jackson 3.
One advantage is that, it's located in a new Maven coordinate and in new packages so the two can coexist.

Investigation must be done prior to migration:

  • Are all our used Jackson modules supported
  • Should we migrate it for everything: core db serialization, file ION seralization, API level (which use the Micronaut provided ObjectMapper)
  • Plugins

As some plugins uses Jackson, there is a high chance that they didn't migrate yet.
Those use a provided Jackson to avoid duplicating the library everywhere: it may be simpler to continue with this approach and includes both Jackson 2 and 3 in core.

Jackson has also a special treatment inside our PluginClassLoader: this should be done also for 3.0

See the migration guide: https://docs.openrewrite.org/recipes/java/jackson/upgradejackson_2_3
There is an OpenRewrite recipe for the migration: https://docs.openrewrite.org/recipes/java/jackson/upgradejackson_2_3

Environment

  • Kestra Version: develop

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/backendNeeds backend code changesarea/frontendNeeds frontend code changes

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions