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.8.1 #40225

Merged
merged 5 commits into from
Apr 27, 2024
Merged

Conversation

radcortez
Copy link
Member

@radcortez radcortez commented Apr 23, 2024

SmallRye Config Release notes:

3.8.0

  • #1153 Release 3.8.0
  • #1150 Update SR Commons to 2.4.0
  • #1149 Consistent collection type for profiles
  • #1148 Always include super properties of mappings
  • #1147 PropertyName do not match star with empty
  • #1146 Generate mapping names
  • #1145 Bump org.eclipse.parsson:parsson from 1.1.5 to 1.1.6
  • #1144 Bump io.smallrye:smallrye-parent from 42 to 43
  • #1143 Support expression expansion with secret keys configuration values
  • #1142 Bump org.ow2.asm:asm from 9.6 to 9.7
  • #1101 Bug! Spring bootJar: NoSuchFileException: /path/application.jar!/BOOT-INF/classes, /path/application.jar!/BOOT-INF/lib/somelib.jar

3.8.1

  • #1159 Release 3.8.1
  • #1158 Keep all mapping names
  • #1157 Check invalid mapped properties
  • #1156 Override super members defaults
  • #1155 Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.2 to 3.5.3
  • #1154 Change getSuperTypes to public
Quarkus:
  • Adjusted API integration to not require @ConfigMapping method reflection registration

@quarkus-bot quarkus-bot bot added area/arc Issue related to ARC (dependency injection) area/cli Related to quarkus cli (not maven/gradle/etc.) 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 labels Apr 23, 2024
@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@radcortez radcortez changed the title Update SmallRye Config to 3.8.0 Update SmallRye Config to 3.8.1 Apr 24, 2024
@quarkus-bot

This comment has been minimized.

@quarkus-bot quarkus-bot bot added the area/hibernate-validator Hibernate Validator label Apr 25, 2024
@quarkus-bot

This comment has been minimized.

@gsmet
Copy link
Member

gsmet commented Apr 26, 2024

@zakkak @galderz @yrodiere @maxandersen some good news on the reflection front:

org.opentest4j.AssertionFailedError: Expected analysis_results.methods.reflection to be within range [4893 +- 3%] but was 4551 ==> expected: but was:

It fails because we are below the threshold :).

Now, this is just the methods metrics but it was the one growing significantly every time we migrated a config class to @ConfigMapping.
As we don't use Hibernate Validator constraints in the core config, it should avoid registering the methods for reflection for all the core config move to @ConfigMapping.

@radcortez needs to adjust the testing a bit on his side of the PR but we should be good for 3.11.

@zakkak
Copy link
Contributor

zakkak commented Apr 26, 2024

That's great, well done!

@yrodiere
Copy link
Member

Great!

Just a heads-up: updates to the expected metrics will likely conflict with #40102, so you might want to wait until that's merged before doing all that work.

radcortez and others added 4 commits April 26, 2024 15:04
We only need to register for reflection config interfaces that are
constrained. We cannot be more fine grained at the moment but
theoretically we could only register the methods required to go from the
root of the config mapping to the (potentially nested) constrained
interface.
Also make sure config implementors can be properly handled by including
them in the indexes considered by HV.
@gsmet
Copy link
Member

gsmet commented Apr 26, 2024

@zakkak just to be clear, it's only improving the methods (I think), so https://github.com/quarkusio/quarkus/pull/40102/files#diff-f740c865e615865a3cf3a4018a7115b9e528d6ad48595ec8e264bb4fc5b2ea83R4 is probably still problematic.

@quarkus-bot
Copy link

quarkus-bot bot commented Apr 26, 2024

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 0a775e3.

✅ 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.

@gsmet gsmet merged commit 9a768bb into quarkusio:main Apr 27, 2024
51 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.11 - main milestone Apr 27, 2024
@gsmet
Copy link
Member

gsmet commented Apr 27, 2024

Thanks for collaborating with me on this, @radcortez !
It's definitely something we needed to improve before considering more candidates for @ConfigMapping.

@michalvavrik
Copy link
Contributor

michalvavrik commented May 6, 2024

Hello @radcortez , we have experienced slight change of behavior that I describe here quarkus-qe/quarkus-test-framework#1117. I don't think it is a bug, but the way I read it in past environment variable MP_MESSAGING_INCOMING_CHANNEL_STOCK_PRICE_CONNECTOR was translated to mp.messaging.incoming.channel-stock-price.connector because during the build there was a system property -Dmp.messaging.incoming.channel-stock-price.connector=smallrye-kafka.

I could read the situation wrong. I think this is not a bug, but I'd like to check with you that I didn't miss something. Do you read the change of behavior same as I do and is it expected?

@radcortez
Copy link
Member Author

Env variable matching is a bit smarter. Before it was blindly trying to match the expected dotted name. Now, it uses the actual container types to generate the expected name.

@michalvavrik
Copy link
Contributor

Alright, thanks.

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/cli Related to quarkus cli (not maven/gradle/etc.) 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/hibernate-orm Hibernate ORM area/hibernate-validator Hibernate Validator area/persistence area/resteasy area/security triage/flaky-test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants