Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump com.fasterxml.jackson:jackson-bom from 2.17.0 to 2.17.1 #40584

Merged
merged 1 commit into from
May 13, 2024

Conversation

mariofusco
Copy link
Contributor

This pull request bump Jackson from 2.17.0 to 2.17.1 replacing this automatically generated one.

In this release Jackson changed the default RecyclerPool implementation ( see FasterXML/jackson-core@2a4a6dc ) because of some problems we found in the LockFree version. At the moment they decided to revert back to the ThreadLocal-based implementation, the non-friendly one for virtual thread, so very likely this will be changed again in the near future.

For this reason I believe that the test checking for the default pool implementation currently in use by Jackson, that has been introduced with this commit, is brittle and I removed it. That test was necessary to check that the VertxHybridPoolObjectMapperCustomizer was behaving as expected, replacing the RecyclerPool implementation only when the user hasn't explicitly configured a pool that is different from the default one. I changed the VertxHybridPoolObjectMapperCustomizer so that it now compares the RecyclerPool implementation in use with the Jackson's default one, thus making the test that I removed no longer necessary.

As a side note it seems odd to me that Quarkus uses a version of jackson-core that is different from the one used by Vert.x, which is still depending on Jackson 2.16.1. Is this expected?

/cc @franz1981 @gsmet @vietj @geoand

@quarkus-bot quarkus-bot bot added area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/jackson Issues related to Jackson (JSON library) area/platform Issues related to definition and interaction with Quarkus Platform labels May 13, 2024
@franz1981
Copy link
Contributor

With my commit I have added a unit test, so I suggest to update it, to help capturing regressions on quarkus version which could observe different Jackson versions

@franz1981
Copy link
Contributor

I've now see what Jackson does at https://github.com/FasterXML/jackson-core/blob/jackson-core-2.17.1/src/main/java/com/fasterxml/jackson/core/util/JsonRecyclerPools.java#L31-L41 so there won't be any allocation apart from https://github.com/FasterXML/jackson-core/blob/jackson-core-2.17.1/src/main/java/com/fasterxml/jackson/core/util/JsonRecyclerPools.java#L127 which is negligible (class loading apart, but that was happening in my pr as well!); thanks @mariofusco now that there is no default pool allocation, this one is way more robust!

Copy link
Contributor

@franz1981 franz1981 left a comment

Choose a reason for hiding this comment

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

LGTM thanks @mariofusco well done!

@geoand geoand added the triage/waiting-for-ci Ready to merge when CI successfully finishes label May 13, 2024
@quarkus-bot
Copy link

quarkus-bot bot commented May 13, 2024

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 9df2843.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

You can consult the Develocity build scans.


Flaky tests - Develocity

⚙️ Maven Tests - JDK 17 Windows

📦 integration-tests/maven

io.quarkus.maven.it.TestMojoIT.testThatTheTestsAreReRunMultiModule - History

  • Condition with Lambda expression in io.quarkus.maven.it.continuoustesting.TestModeContinuousTestingMavenTestUtils was not fulfilled within 3 minutes. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.maven.it.continuoustesting.TestModeContinuousTestingMavenTestUtils was not fulfilled within 3 minutes.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1006)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:975)
	at io.quarkus.maven.it.continuoustesting.TestModeContinuousTestingMavenTestUtils.waitForNextCompletion(TestModeContinuousTestingMavenTestUtils.java:49)
	at io.quarkus.maven.it.LaunchMojoTestBase.testThatTheTestsAreReRunMultiModule(LaunchMojoTestBase.java:56)

@geoand geoand merged commit 436050a into quarkusio:main May 13, 2024
51 checks passed
@quarkus-bot quarkus-bot bot removed the triage/waiting-for-ci Ready to merge when CI successfully finishes label May 13, 2024
@quarkus-bot quarkus-bot bot added this to the 3.11 - main milestone May 13, 2024
@mariofusco mariofusco deleted the jackson_2171 branch May 14, 2024 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/jackson Issues related to Jackson (JSON library) area/platform Issues related to definition and interaction with Quarkus Platform triage/flaky-test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants