-
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
Fix incomplete config on re-used LGTM containers #45689
Fix incomplete config on re-used LGTM containers #45689
Conversation
…uction is deduce, not deduct.
This comment has been minimized.
This comment has been minimized.
https://github.com/quarkusio/quarkus/actions/runs/12836055062/job/35797224159?pr=45689 was clean and ran the LGTM tests. It's just the build report that failed with |
...s/devresource-lgtm/src/main/java/io/quarkus/observability/devresource/lgtm/LgtmResource.java
Outdated
Show resolved
Hide resolved
Yeah, this is imho not related to your changes. |
Ah, dunno why I thought Dev Resources won't survive the re-start. But since they "survive", I guess your code makes sense. I'm now wondering how / why just newly added LgtmReloadTest works w/o problems, even before your fix. |
Since it should be missing |
Ah ... OK, we need to change the test to also modify the props just so that the config is not the same, somehow ... |
OK, added this Only then did I realised that of course I was mixing what your PR does, doh! But, it did help add this new re-load part of the test. |
Yes, it's a good point; I was kind of surprised that it took me totally breaking container shutdown to expose the problem, since it felt like a path customer applications might have gone down. And so you're right there should be tests to cover that case. |
…fig on container re-use path
ebc4d57
to
8450e15
Compare
Status for workflow
|
Status | Name | Step | Failures | Logs | Raw logs | Build scan |
---|---|---|---|---|---|---|
✖ | Native Tests - Misc4 | Build |
Failures | Logs | Raw logs | 🔍 |
Full information is available in the Build summary check run.
You can consult the Develocity build scans.
Failures
⚙️ Native Tests - Misc4 #
- Failing: integration-tests/observability-lgtm
📦 integration-tests/observability-lgtm
✖ io.quarkus.observability.test.LgtmResourcesIT.testTracing
- History - More details - Source on GitHub
java.lang.RuntimeException:
java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.observability.deployment.ObservabilityDevServiceProcessor#startContainers threw an exception: java.lang.RuntimeException: org.testcontainers.containers.ContainerLaunchException: Container startup failed for image docker.io/grafana/otel-lgtm:0.8.2
at io.quarkus.observability.deployment.ObservabilityDevServiceProcessor.lambda$startContainers$3(ObservabilityDevServiceProcessor.java:170)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at io.quarkus.observability.deployment.ObservabilityDevServiceProcessor.startContainers(ObservabilityDevServiceProcessor.java:113)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732)
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.
@alesj will be doing changes to the ExtensionsCatalog
that touch this same code.
Do you want to merge this 1st or have @holly-cummins reimplementing this after you commit?
Fine by me to merge this.
I’ll rebase afterwards, np.
…On Mon, 20 Jan 2025 at 13:05, Bruno Baptista ***@***.***> wrote:
***@***.**** approved this pull request.
@alesj <https://github.com/alesj> will be doing changes to the
ExtensionsCatalog that touch this same code.
Do you want to merge this 1st or have @holly-cummins
<https://github.com/holly-cummins> reimplementing after you commit?
—
Reply to this email directly, view it on GitHub
<#45689 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACRA6G327DUXEYL3JSAQLL2LTRBXAVCNFSM6AAAAABVMUCCOOVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDKNRSGIYTOMRUGU>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@holly-cummins, we still get the container timeout error from time to time: |
Do you think that's related to these changes, @brunobat? I guess it's hard to see how it's not, since I changed that code, but it's also hard to see how adding the extra config properties would cause that. |
I agree, @holly-cummins and I've seen this on other PRs. |
I have created a problem where containers in the LGTM integration tests are not cleaned up properly. Obviously, I need to fix this, but it exposed another problem.
When the LGTM dev service is started fresh, the config is something like this:
When it’s re-used, it’s
Three pieces of config are missing. This causes the test to fail trying to connect to the default, non-mapped, OTLP endpoint and metrics endpoint. On investigation, there’s a
//FIXME
at the problem line of code. So I fixed it. :)I didn’t achieve perfect consolidation of the two methods, but it’s more consolidated (and the config is complete in the re-use case). The consolidated code is also longer than the non-consolidated code, but we won't mention that.
Please do check it carefully, because it’s not an area I know well and it would be easy for me to swap constants or muddle theintended
switch
logic. I left the (now unused) method onLGTMContainer
to get the OTLP port, since it looked potentially useful, but we could consider deleting it.