Skip to content
This repository has been archived by the owner on Nov 14, 2024. It is now read-only.

Replace the Jackson Afterburner module with Blackbird #5541

Merged
merged 2 commits into from
Jul 7, 2021

Conversation

carterkozak
Copy link
Contributor

See palantir/conjure-java-runtime#2022

Afterburner uses several internal methods which result in warnings in
modern jdks, and result in failures using jdk16+.
The replacement Blackbird module uses LambdaMetafactory for a more
sustainable solution.

Documentation:
https://github.com/FasterXML/jackson-modules-base/tree/2.13/blackbird#jackson-blackbird

Goals (and why):

jdk16+

Implementation Description (bullets):

s/afterburner/blackbird :-)

Testing (What was existing testing like? What have you done to improve it?):

Existing test coverage is sufficient. blackbird is a drop-in replacement.

Concerns (what feedback would you like?):

Where should we start reviewing?:

Priority (whenever / two weeks / yesterday):

See palantir/conjure-java-runtime#2022

Afterburner uses several internal methods which result in warnings in
modern jdks, and result in failures using jdk16+.
The replacement Blackbird module uses LambdaMetafactory for a more
sustainable solution.

Documentation:
https://github.com/FasterXML/jackson-modules-base/tree/2.13/blackbird#jackson-blackbird
@changelog-app
Copy link

changelog-app bot commented Jul 6, 2021

Generate changelog in changelog/@unreleased

Type

  • Feature
  • Improvement
  • Fix
  • Break
  • Deprecation
  • Manual task
  • Migration

Description

Replace the Jackson Afterburner module with Blackbird

Check the box to generate changelog(s)

  • Generate changelog entry

@@ -22,7 +22,8 @@ com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.3 (5 constraints: b9
com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.12.3 (3 constraints: 903d4249)
com.fasterxml.jackson.jaxrs:jackson-jaxrs-cbor-provider:2.12.3 (3 constraints: 2d3890f3)
com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.12.3 (2 constraints: 6e1d2e4b)
com.fasterxml.jackson.module:jackson-module-afterburner:2.12.3 (10 constraints: 5aa321c1)
com.fasterxml.jackson.module:jackson-module-afterburner:2.12.3 (9 constraints: 249eb161)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these transitive deps going to be an issue at runtime for downstream consumers? I'm assuming we just have to ensure nothing loads Afterburner and everything migrates to Blackbird?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That’s correct, atlas likely hasn’t bumped cjr to a version using bb instead of afterburner, I figured it was best to leave that to excavator.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's going to be some manual work required here since AtlasDB still depends on some remoting2 packages which pull in afterburner.

com.fasterxml.jackson.module:jackson-module-afterburner:2.12.3
        com.fasterxml.jackson:jackson-bom -> 2.12.3
        com.palantir.conjure.java.runtime:conjure-java-jackson-serialization -> 2.12.3
        com.palantir.conjure.java.runtime:conjure-java-jersey-server -> 2.12.3
        com.palantir.remoting2:error-handling -> 2.6.7
        com.palantir.remoting2:jackson-support -> 2.6.7
        com.palantir.remoting2:jersey-servers -> 2.6.7
        com.palantir.remoting2:tracing -> 2.6.7
        com.palantir.tracing:tracing -> 2.10.4
        io.dropwizard:dropwizard-jackson -> 2.10.2

Copy link
Contributor

@jeremyk-91 jeremyk-91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 thanks

@bulldozer-bot bulldozer-bot bot merged commit 93f84ca into develop Jul 7, 2021
@bulldozer-bot bulldozer-bot bot deleted the ckozak/no_afterburner branch July 7, 2021 11:09
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants