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

3.7.4 backports 1 #38864

Merged
merged 29 commits into from
Feb 21, 2024
Merged

3.7.4 backports 1 #38864

merged 29 commits into from
Feb 21, 2024

Conversation

gsmet
Copy link
Member

@gsmet gsmet commented Feb 19, 2024

Please don't merge, I will merge it myself.

loicmathieu and others added 19 commits February 19, 2024 18:05
This is a consequence of renaming the extension in 3.7.
I also added the guide to the subextensions.

(cherry picked from commit ccf5512)
This commit fixes 2 cases when invalid bytecode is generated:

- when a `void`-returning method is intercepted and also decorated
- when an interceptor declared on a target class returns `void`

(cherry picked from commit 1397241)
(cherry picked from commit 1ec895c)
`org.apache.kafka.common.security.oauthbearer.OAuthBearerValidatorCallbackHandler`
depends on the optional
`org.jose4j.keys.resolvers.VerificationKeyResolver` so it should only be
registered when the latter is present, similarly to
`org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerValidatorCallbackHandler`

Closes quarkusio#38851

(cherry picked from commit d88e0bd)
The annotation transformer in `SingletonToApplicationScopedTestBuildChainCustomizerProducer`
has to:

- look for the `@Produces` annotation in ArC's `AnnotationStore`, not in Jandex;
- run _after_ the annotation transformer in `AutoProducerMethodsProcessor`.

This is enough to recognize an auto-producer (producer without `@Produces`).

(cherry picked from commit 5aebe5a)
…AV on the command line

(cherry picked from commit c2f36d0)
@gsmet gsmet added the area/infra internal and infrastructure related issues label Feb 19, 2024
@gsmet gsmet self-assigned this Feb 19, 2024
@quarkus-bot quarkus-bot bot added area/arc Issue related to ARC (dependency injection) area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/kafka area/keycloak area/maven area/mongodb area/oidc area/panache labels Feb 19, 2024

This comment has been minimized.

Copy link

github-actions bot commented Feb 19, 2024

🙈 The PR is closed and the preview is expired.

This comment has been minimized.

@gsmet
Copy link
Member Author

gsmet commented Feb 20, 2024

I see that we start having failures like:

2024-02-19T18:42:32.3853682Z 2024-02-19 18:42:32,375 ERROR [io.sma.health] (executor-thread-1) SRHCK01000: Error processing Health Checks: jakarta.enterprise.context.ContextNotActiveException: RequestScoped context was not active when trying to obtain a bean instance for a client proxy of CLASS bean [class=io.quarkus.smallrye.health.test.HealthCheckContextPropagationTest$RequestScopedBean, id=Lt5exQOob-YosPG-QskAoDtQJSU]
2024-02-19T18:42:32.3858993Z 	- you can activate the request context for a specific method using the @ActivateRequestContext interceptor binding
2024-02-19T18:42:32.3861091Z 	at io.quarkus.arc.impl.ClientProxies.notActive(ClientProxies.java:70)
2024-02-19T18:42:32.3862710Z 	at io.quarkus.arc.impl.ClientProxies.getSingleContextDelegate(ClientProxies.java:30)
2024-02-19T18:42:32.3941570Z 	at io.quarkus.smallrye.health.test.HealthCheckContextPropagationTest_RequestScopedBean_ClientProxy.arc$delegate(Unknown Source)
2024-02-19T18:42:32.3943749Z 	at io.quarkus.smallrye.health.test.HealthCheckContextPropagationTest_RequestScopedBean_ClientProxy.getUuid(Unknown Source)
2024-02-19T18:42:32.3945918Z 	at io.quarkus.smallrye.health.test.HealthCheckContextPropagationTest$ContextualHC.call(HealthCheckContextPropagationTest.java:90)
2024-02-19T18:42:32.3948352Z 	at io.quarkus.smallrye.health.test.HealthCheckContextPropagationTest_ContextualHC_ClientProxy.call(Unknown Source)
2024-02-19T18:42:32.3950169Z 	at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
2024-02-19T18:42:32.3952025Z 	at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
2024-02-19T18:42:32.3953692Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-02-19T18:42:32.3955326Z 	at io.smallrye.mutiny.operators.uni.UniOnFailureFlatMap.subscribe(UniOnFailureFlatMap.java:31)
2024-02-19T18:42:32.3956753Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-02-19T18:42:32.3958137Z 	at io.smallrye.mutiny.operators.uni.UniOnItemTransform.subscribe(UniOnItemTransform.java:22)
2024-02-19T18:42:32.3959493Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-02-19T18:42:32.3960917Z 	at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
2024-02-19T18:42:32.3962476Z 	at io.smallrye.mutiny.vertx.MutinyHelper.lambda$blockingExecutor$6(MutinyHelper.java:62)
2024-02-19T18:42:32.3963815Z 	at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$1(ContextImpl.java:190)
2024-02-19T18:42:32.3965020Z 	at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:276)
2024-02-19T18:42:32.3966296Z 	at io.vertx.core.impl.ContextImpl.lambda$internalExecuteBlocking$2(ContextImpl.java:209)
2024-02-19T18:42:32.3967761Z 	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
2024-02-19T18:42:32.3969148Z 	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
2024-02-19T18:42:32.3970546Z 	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
2024-02-19T18:42:32.3971811Z 	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
2024-02-19T18:42:32.3973125Z 	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
2024-02-19T18:42:32.3974595Z 	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2024-02-19T18:42:32.3975694Z 	at java.base/java.lang.Thread.run(Thread.java:840)

@famod @xstefank does it look like the other issue we have?

/cc @mkouba

@xstefank
Copy link
Member

@gsmet yes, very occasionally the CDI context doesn't propagate to health check invocation.

vemilyus and others added 4 commits February 20, 2024 20:12
…yment modules

- Now it's back to the previous behavior (pulling in deployment modules declared as dependencies of other deployment modules)
- Gradle extension plugin now verifies that all required deployment modules are specified in dependencies
- Added integration test to make sure such transitive dependencies are resolved correctly (especially regarding exclusions)
- Clarified documentation about validation of extensions

(cherry picked from commit 62483ed)
(cherry picked from commit 5236c49)
@quarkus-bot quarkus-bot bot added area/dependencies Pull requests that update a dependency file area/gradle Gradle area/health area/kubernetes area/platform Issues related to definition and interaction with Quarkus Platform area/reactive-messaging area/scheduler area/smallrye labels Feb 20, 2024

This comment has been minimized.

drik98 and others added 6 commits February 20, 2024 22:08
When the SmallRye Health route handler activates request context on its own,
it also needs to terminate it. However, that termination needs to happen
only after all health checks complete. That's what this commit does.

(cherry picked from commit 650ec93)
`ValidationSchema` is annotated with `@JsonDeserialize` which leads in
its entire type hierarchy being registered for reflective access along
with the corresponding methods. This essentially ends up registering all
models as in kubernetes-client 6.9.0 ValidationSchema was augmented to
implement `Editable<ValidationSchemaBuilder>`, which increases the
reachable types in comparison to previous versions.

Ignoring registrations for `ValidationSchema` aligns with what we
already do for `KubeSchema`.

Fixes quarkusio#38683

(cherry picked from commit 637ebea)
@gsmet gsmet force-pushed the 3.7.4-backports-1 branch from 25db540 to 4611ba6 Compare February 20, 2024 21:23
Copy link

quarkus-bot bot commented Feb 20, 2024

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit 4611ba6.

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

⚠️ There are other workflow runs running, you probably need to wait for their status before merging.

Copy link

quarkus-bot bot commented Feb 21, 2024

Status for workflow Quarkus CI

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

Failing Jobs

Status Name Step Failures Logs Raw logs Build scan
✔️ JVM Tests - JDK 17 Logs Raw logs 🔍
JVM Tests - JDK 21 Build Failures Logs Raw logs 🔍

Full information is available in the Build summary check run.
You can consult the Develocity build scans.

Failures

⚙️ JVM Tests - JDK 21 #

- Failing: integration-tests/virtual-threads/amqp-virtual-threads integration-tests/virtual-threads/jms-virtual-threads 

📦 integration-tests/virtual-threads/amqp-virtual-threads

io.quarkus.it.vthreads.amqp.VirtualThreadTest.testAlert - 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.smallrye.reactivemessaging.amqp.deployment.AmqpDevServicesProcessor#startAmqpDevService threw an exception: java.lang.RuntimeException: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=quay.io/artemiscloud/activemq-artemis-broker:1.0.25, imagePullPolicy=DefaultPullPolicy(), imageNameSubstitutor=org.testcontainers.utility.ImageNameSubstitutor$LogWrappedImageNameSubstitutor@47b563a1)
	at io.quarkus.smallrye.reactivemessaging.amqp.deployment.AmqpDevServicesProcessor.startAmqpDevService(AmqpDevServicesProcessor.java:109)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
	at...

📦 integration-tests/virtual-threads/jms-virtual-threads

io.quarkus.it.vthreads.jms.VirtualThreadTest.testAlert - 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.artemis.core.deployment.DevServicesArtemisProcessor#startArtemisDevService threw an exception: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=quay.io/artemiscloud/activemq-artemis-broker:1.0.25, imagePullPolicy=DefaultPullPolicy(), imageNameSubstitutor=org.testcontainers.utility.ImageNameSubstitutor$LogWrappedImageNameSubstitutor@5eb56ba1)
	at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1367)
	at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:362)
	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:333)
	at io.quarkus.artemis.core.deployment.DevServicesArtemisProcessor.lambda$startArtemis$1(DevServicesArtemisProcessor.java:252)
	at java.base/java.util.Optional.o...

@gsmet gsmet merged commit bc84000 into quarkusio:3.7 Feb 21, 2024
53 of 54 checks passed
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/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/gradle Gradle area/health area/infra internal and infrastructure related issues area/kafka area/keycloak area/kubernetes area/maven area/mongodb area/oidc area/panache area/platform Issues related to definition and interaction with Quarkus Platform area/reactive-messaging area/rest area/resteasy-classic area/scheduler area/smallrye area/testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.