-
Notifications
You must be signed in to change notification settings - Fork 15
Replace the Jackson Afterburner module with Blackbird #5541
Conversation
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
Generate changelog in
|
@@ -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) |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 thanks
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):