-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Dev services check property value existence with expression expansion #41326
Conversation
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.
Makes sense.
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.
👌
@ozangunalp @gsmet @geoand can this be backported to 3.8 for those of us on the LTS? |
I don't see any conflicts for 3.8 so it should be fine. |
1bd4561
to
04753d7
Compare
I added the label but we discuss backports for 3.8 in a committee so we will see how it goes when we discuss the next round of backports. |
This comment has been minimized.
This comment has been minimized.
@ozangunalp the |
@gsmet I am checking this right now. I'll also disable those flaky Kafka ITs and revisit them later. |
04753d7
to
5d068cc
Compare
Found the problems:
|
This comment has been minimized.
This comment has been minimized.
d41b685
to
e82650b
Compare
Removed self-referencing property expansion in oidc integration test Fixes quarkusio#41128
e82650b
to
3f11f08
Compare
Status for workflow
|
Impacted tests are now green. There is however a behavior change that I've noticed fixing OIDC tests: Before when a config property was supplied with an expression that is not resolved, the dev service looking at that property would not kick in, because the property value is still non-null. In most cases this is not an issue, you either have a value for that property or not, but for OIDC tests in the quarkus core, there was an interesting case : Some tests use the The workaround I applied is to change the expression to I am not sure if this would qualify as a breaking change and block the backport. But worth discussing. |
Thanks for raising that. To be honest, I had been +0 on the backport thing, so this probably tips me to -0.5 :) |
Same for me. It is a very minor breaking change, but we should refrain from backporting. |
I actually missed the ping and I think it's a bit problematic. I don't see a way to fix this given how things are ordered (and the order makes sense) but we already have one complaint here: #42273 . And I suspect we will have more. I added a note in the migration guide as it's the least we have to do. |
Hi @ozangunalp, @gsmet I've missed this whole conversation, but I'm seeing a 2nd issue related to this change, Can you clarify please, given I see #42392, but |
To summarize, every dev service checks whether a service has already been configured AT BUILD TIME to decide whether to kick in. Before this change, those checks were done without taking the expression expansion into account. So for a given configuration with
After this change taking the expression expansion into account, even if a test resource would inject the The workaround I've employed was to provide a fallback to the expression expansion like |
OK, thanks for the summary @ozangunalp |
Fixes #41128 replaces #41143
Thanks to @The-Funk !