Skip to content

Conversation

jedla97
Copy link
Contributor

@jedla97 jedla97 commented Aug 2, 2025

This comment has been minimized.

This comment has been minimized.

@gsmet
Copy link
Member

gsmet commented Aug 3, 2025

The failures look suspicious.
It looks a bit more complicated than what we initially thought.

@jedla97
Copy link
Contributor Author

jedla97 commented Aug 4, 2025

I'll look at failures today and report will report back.

@holly-cummins
Copy link
Contributor

holly-cummins commented Aug 4, 2025

I'll also have a look. The failing tests were enabled by #48787, so I suspect that, rather than #47610, may be responsible for the excessive checking. Since the failing tests didn't ever work before #48787, disabling them again wouldn't be totally unreasonable, at least until we find the right tradeoff between "too much checking if dev services are enabled" and "not enough checking if dev services are enabled." But hopefully we can find a way to get the best of both.

@jedla97
Copy link
Contributor Author

jedla97 commented Aug 4, 2025

I looked at it and I think as I added the devservice enabled check on DevServicesProcessor. When the server is restarted due to setting quarkus.devservices.enabled=false, it fail to tear down the existing devservices if Quarkus fail to start.

To reproduce it (for more visual explanation)

  1. cd integration-tests/kafka-devservices
  2. quarkus dev
  3. Add quarkus.devservices.enabled=false to property file
  4. Go to http://127.0.0.1:8080/kafka/partitions/test
    1. Quarkus fail to start as it inject @ConfigProperty(name = "kafka.bootstrap.servers") which is null after disable the services
    2. When the Quarkus fail to start the devservices should be teardown.

Possible solution what worked for me to fix original issue with windows was adding the devservices enable check on config buildstep

Like this

@BuildStep(onlyIf = { IsDevelopment.class, DevServicesConfig.Enabled.class })
public List<DevServiceDescriptionBuildItem> config(

Could this be viable solution @holly-cummins or you see some drawback/potentional problems?

Copy link

quarkus-bot bot commented Aug 7, 2025

Status for workflow Quarkus CI

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

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

@holly-cummins
Copy link
Contributor

holly-cummins commented Aug 7, 2025

Could this be viable solution @holly-cummins or you see some drawback/potentional problems?

My initial thought was that it was totally sensible to guard something that reads and writes dev service config with a guard to only do it when dev services are enabled. My only worry with this is we have a few cases where extensions ignore that property and do dev-services things anyway. I'll see if I can find a specific example, since my memory about the pattern is pretty vague. Even if I'm right that it does happen, the right fix might be to change those extensions, because ignoring the config seems like a recipe for chaos.

Edit: I've just checked, and can only find one case where we start dev services even when they're disabled, which is in Lambda.
That dev service doesn't rely on test containers, so it's a bit different in several ways, and not so relevant to this fix.

@holly-cummins
Copy link
Contributor

Thanks for the fix!

@melloware
Copy link
Contributor

I hope this makes it into 3.25.1!

@gsmet gsmet merged commit 5e492b7 into quarkusio:main Aug 11, 2025
54 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.26 - main milestone Aug 11, 2025
@gsmet
Copy link
Member

gsmet commented Aug 11, 2025

Thanks, I'll push it to the next 3.25.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3.25.0 Docker Being Checked Always even if quarkus.devservices.enabled=false
4 participants