Skip to content

Conversation

@RanVaknin
Copy link
Contributor

@RanVaknin RanVaknin commented Oct 30, 2025

Bump Jackson to 2.19.4

Testing:

  1. Tested in our Kinesis canary for 1 hour for each version, did not see any indication of a regression
  2. Tested against the benchmarking suite from this PR and did not see any indication of regression:
Benchmark Old Jackson New (2.19.4) Change
getJson50b (p50) 0.167 µs 0.167 µs 0%
getJson50b (p90) 0.250 µs 0.250 µs 0%
getJson50b (p99) 0.458 µs 0.459 µs +0%
getJson100b (p50) 0.250 µs 0.250 µs 0%
getJson100b (p90) 0.292 µs 0.333 µs +14%
getJson100b (p99) 0.458 µs 0.500 µs +9%
getJson500b (p50) 0.584 µs 0.625 µs +7%
getJson500b (p90) 0.625 µs 0.667 µs +7%
getJson500b (p99) 0.792 µs 0.792 µs 0%
getJson1kb (p50) 1.292 µs 1.332 µs +3%
getJson1kb (p90) 1.458 µs 1.374 µs -6%
getJson1kb (p99) 4.120 µs 1.708 µs -59%
v2ToJson (p50) 532.480 µs 537.600 µs +1%
v2ToJson (p90) 562.176 µs 568.320 µs +1%
v2ToJson (p99) 754.688 µs 667.648 µs -12%
v2GetJsonEntireDoc (p50) 530.432 µs 533.504 µs +1%
v2GetJsonEntireDoc (p90) 544.768 µs 552.960 µs +2%
v2GetJsonEntireDoc (p99) 666.204 µs 610.243 µs -8%

The results seem flat aside from getJson1kb (p99) which might be an anomaly or related to code changes from that pr (the benchmark tests that test 2.19.4 have to use a new feature that has to do with escaping surrogate pairs but its unlikely to be related)

@RanVaknin RanVaknin requested a review from a team as a code owner October 30, 2025 22:42
public void setup() {
jsonGenerator = new SdkJsonGenerator(JsonFactory.builder().build(), "application/json");
jsonGenerator = new SdkJsonGenerator(JsonFactory.builder()
.enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

jackson 2.16.0 introduced a behavior change where this behavior was true and now defaults to false. This caused our test to break.

In order to maintain the same behavior we have to manually enable this config.

more info FasterXML/jackson-core#1038

@RanVaknin RanVaknin added the no-api-surface-area-change Indicate there is no API surface area change and thus API surface area review is not required label Oct 31, 2025
@RanVaknin RanVaknin force-pushed the rvaknin/upgrade-jackson-version-2.19.4 branch from e849402 to f11ca49 Compare November 3, 2025 15:55
@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 3, 2025

@RanVaknin RanVaknin enabled auto-merge November 3, 2025 18:03
@RanVaknin RanVaknin added this pull request to the merge queue Nov 3, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 3, 2025
@RanVaknin RanVaknin added this pull request to the merge queue Nov 3, 2025
Merged via the queue into master with commit bb84827 Nov 3, 2025
51 of 54 checks passed
@github-actions
Copy link

github-actions bot commented Nov 3, 2025

This pull request has been closed and the conversation has been locked. Comments on closed PRs are hard for our team to see. If you need more assistance, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 3, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no-api-surface-area-change Indicate there is no API surface area change and thus API surface area review is not required

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants