graphql-java-kickstart/graphql-java-servlet

@defer support was removed from graphql-java, causing ClassDefNotFound in graphql-java-servlet

artem-ag opened this issue · 2 comments

Describe the bug
@defer support was removed from graphql-java in graphql-java/graphql-java@a0d327d

To Reproduce
Execute any query against a server running latest graphql-java weekly build. For example, 2020-10-09T06-03-45-4a893b0.

Expected behavior
Query should complete successfully. HTTP 400 is returned back instead.

Additional context
The root cause is graphql.DeferredExecutionResult that was removed from graphql-java. This causes https://github.com/graphql-java-kickstart/graphql-java-servlet/blob/master/graphql-java-kickstart/src/main/java/graphql/kickstart/execution/GraphQLObjectMapper.java#L137 to throw ClassDefNotFound.

Oh, there is also graphql-java/graphql-java@ddb850f that breaks thing. I guess that's a little harder to deal with given that compatibility with graphql-java 15 is likely necessary.

@artem-ag The current version of this library supports graphql-java 15.0. Trying to make it work with a higher version than that by manually pulling in a newer build is at your own risk. This is therefore not a bug. When a new official version of graphql-java is released we'll try to upgrade our libraries to be compatible as soon as possible or welcome any contributions trying to make it so.