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

Update SmallRye Config to 3.5.1 #37794

Merged
merged 1 commit into from Jan 3, 2024
Merged

Conversation

radcortez
Copy link
Member

@radcortez radcortez commented Dec 17, 2023

These are significant changes in the SR Config implementation, including a complete rewrite of the @ConfigMapping implementation to be fully build-time aware.

Used config-quickstart to measure improvements with Java 17 Temurin and Graal 22.3 - Java 17:

  JVM RSS Native RSS JVM Start Native Start
3.6.3 148621 23782 0.641 0.019
#37794 144970 22915 0.601 0.016
Diff to 3.6.3 -2.52% -3.78% -6.59% -20.25%

Some corner case mappings may not work, due to the major implementation changes. This is not intended, and I'll fix those if they show up. The changes were made to retain 100% compatibility with the old implementation. There are likely cases we are not covering in our tests, hence the warning.

Due to a change triggered by #35410, the config file loader now looks for any associated extension in the loader (if multiple available) smallrye/smallrye-config#1026. This was causing issues with the Gradle plugin, which provided a custom loader implementation plus used the same ordinal for both properties and yaml files, which is not how Quarkus, and Maven order these sources. The Gradle plugin was adjusted to be consistent with ordering sources in other systems. Some Gradle users can notice configuration differences if they are mixing properties and yaml files.

@quarkus-bot quarkus-bot bot added area/arc Issue related to ARC (dependency injection) area/config area/core area/dependencies Pull requests that update a dependency file labels Dec 17, 2023
@radcortez radcortez force-pushed the sr-config-3.5.0 branch 2 times, most recently from e1d5db3 to fae688a Compare December 23, 2023 00:20
@radcortez radcortez marked this pull request as ready for review December 23, 2023 00:20
@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@quarkus-bot quarkus-bot bot added area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle labels Jan 2, 2024
@quarkus-bot

This comment has been minimized.

@radcortez radcortez changed the title Update SmallRye Config to 3.5.0 Update SmallRye Config to 3.5.1 Jan 3, 2024
@geoand
Copy link
Contributor

geoand commented Jan 3, 2024

Mind rebasing to get one more run on the latest main?

@radcortez
Copy link
Member Author

Mind rebasing to get one more run on the latest main?

Sure

@gsmet
Copy link
Member

gsmet commented Jan 3, 2024

Amazing work @radcortez and thanks for the very detailed description.

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

quarkus-bot bot commented Jan 3, 2024

Failing Jobs - Building 6053da3

Status Name Step Failures Logs Raw logs Build scan
✔️ JVM Tests - JDK 17 🔍
JVM Tests - JDK 17 Windows Build ⚠️ Check → Logs Raw logs 🚧
✔️ JVM Tests - JDK 21 🔍

You can also consult the Develocity build scans.

@gsmet gsmet merged commit d2a14f0 into quarkusio:main Jan 3, 2024
49 of 50 checks passed
@quarkus-bot quarkus-bot bot added kind/bugfix and removed triage/waiting-for-ci Ready to merge when CI successfully finishes labels Jan 3, 2024
@quarkus-bot quarkus-bot bot added this to the 3.7 - main milestone Jan 3, 2024
@radcortez
Copy link
Member Author

Thanks :)

Let's hope it doesn't cause too many regressions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/arc Issue related to ARC (dependency injection) area/config area/core area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle kind/bugfix release/noteworthy-feature
Projects
None yet
3 participants