Skip to content

ChainedInstrumentation not finishing #1110

@kclaes

Description

@kclaes

Upgrading from 7.0 to 9.0.

I've been using a ChainedInstrumentation that chains MaxQueryComplexityInstrumentation, DataLoaderDispatcherInstrumentation and TracingInstrumentation. This worked well in 7.0.

Now, having updated the dependencies to 9.0 for graphql-java, 5.0.1 for graphql-servlet and 4.2.0 for graphql-spring-boot, a query that has to invoke more than one resolver sequentially, does not return.

I've narrowed it down to the following Instrumentation not working:
return new ChainedInstrumentation(Arrays.asList(new DataLoaderDispatcherInstrumentation(...)))
And the following does work:
return new DataLoaderDispatcherInstrumentation(...)

The queries that fail are hierarchical with resolvers, so for instance:
{ entity(id=1) { property } },
will work if the property is fetched by a resolver without a batchloader, but will fail if the resolver for property also uses a batchloader (it simply does not get invoked/triggered).

Any pointers or things I can try?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions