Skip to content

Graphql federation @Resolver and @Blocking do not work #46893

@robp94

Description

@robp94

Describe the bug

If I use those two annotations on a method

import io.smallrye.common.annotation.Blocking
import io.smallrye.graphql.api.federation.Resolver

I get this error on build:

 The @Blocking, @NonBlocking and @RunOnVirtualThread annotations may only be used on "entrypoint" methods (methods invoked by various frameworks in Quarkus)
13:58:33   Using the @Blocking, @NonBlocking and @RunOnVirtualThread annotations on methods that can only be invoked by application code is invalid
13:58:33     at io.quarkus.deployment.execannotations.ExecutionModelAnnotationsProcessor.check(ExecutionModelAnnotationsProcessor.java:55)
13:58:33     at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
13:58:33     at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
13:58:33     at io.quarkus.builder.BuildContext.run(BuildContext.java:255)
13:58:33     at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
13:58:33     at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
13:58:33     at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
13:58:33     at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
13:58:33     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
13:58:33     at java.base/java.lang.Thread.run(Thread.java:1583)
13:58:33     at org.jboss.threads.JBossThread.run(JBossThread.java:499)

But the resolver is only called from the Federation Data Fetcher like a query., so blocking should be supported.

Expected behavior

No response

Actual behavior

No response

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

No response

Quarkus version or git rev

No response

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions