-
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
Improve error handling of AbortExecutionException in smallrye-graphql extension #30152
Labels
Milestone
Comments
/cc @Ladicek(smallrye), @jmartisk(graphql,smallrye), @phillip-kruger(graphql,smallrye), @radcortez(smallrye) |
Agreed, an error that causes a 500 response should probably be logged as a WARN. I'll send a PR |
Why a WARN? A 500 should be logged as an error? At least that's what we do in REST. |
Ok, I'll make it ERROR then :) |
benkard
added a commit
to benkard/mulkcms2
that referenced
this issue
Jan 14, 2023
This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | patch | `2.15.2.Final` -> `2.15.3.Final` | | [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | patch | `2.15.2.Final` -> `2.15.3.Final` | --- ### Release Notes <details> <summary>quarkusio/quarkus</summary> ### [`v2.15.3.Final`](https://github.com/quarkusio/quarkus/releases/tag/2.15.3.Final) [Compare Source](quarkusio/quarkus@2.15.2.Final...2.15.3.Final) ##### Complete changelog - [#​30255](quarkusio/quarkus#30255) - Introduce a JSON Stream parser for the reactive rest client - [#​30242](quarkusio/quarkus#30242) - Throw an IllegalStateException with basic info about the provider that failed to provide a resource - [#​30227](quarkusio/quarkus#30227) - SmallRye GraphQL 1.9.1/2.0.1 + config property to control Federation - [#​30218](quarkusio/quarkus#30218) - OIDC documentation fixes - [#​30200](quarkusio/quarkus#30200) - Ensure that Kotlin implementation of QuarkusApplication works properly - [#​30195](quarkusio/quarkus#30195) - Log graphql.execution.AbortExecutionException when it occurs - [#​30190](quarkusio/quarkus#30190) - 2.15.2.Final breaks command mode with main class extends from QuarkusApplication in kotlin - [#​30187](quarkusio/quarkus#30187) - Bump xstream from 1.4.19 to 1.4.20 - [#​30183](quarkusio/quarkus#30183) - Fixing typos in security overview doc - [#​30177](quarkusio/quarkus#30177) - Properly handle SSE comments in RESTEasy Reactive client and server code - [#​30172](quarkusio/quarkus#30172) - Codestarts - Fix flattening of log levels - [#​30169](quarkusio/quarkus#30169) - NullPointerException when sending SSE with comment only - [#​30161](quarkusio/quarkus#30161) - Align behavior for getDeferredIdentity and getIdentity in TestIdentityAssociation - [#​30160](quarkusio/quarkus#30160) - Different behavior in TestIdentityAssociation for getDeferredIdentity and getIdentity - [#​30157](quarkusio/quarkus#30157) - Gradle quarkusDev: don't use test classes dir for app classes - [#​30155](quarkusio/quarkus#30155) - Show how to verify smallrye-jwt issuer in a shared network - [#​30154](quarkusio/quarkus#30154) - Remove remaining references to javax classes - [#​30152](quarkusio/quarkus#30152) - Improve error handling of AbortExecutionException in smallrye-graphql extension - [#​30146](quarkusio/quarkus#30146) - Properly segregate Json MessageBodyReader/Writer classes for server and client - [#​30145](quarkusio/quarkus#30145) - GraphQL federation directives, which allow multiple values, do not match Apollo contract - [#​30142](quarkusio/quarkus#30142) - When disabling name and version for label selectod in k8s, don't remove from labels - [#​30138](quarkusio/quarkus#30138) - Keycloak Dev Services - [#​30132](quarkusio/quarkus#30132) - Register REST Client body parameters for reflection - [#​30119](quarkusio/quarkus#30119) - Enable/disable GraphQL Federation automatically (+ add a config property for it) - [#​30100](quarkusio/quarkus#30100) - Setting `add-version-to-label-selectors: false` removes the app.kubernetes.io/version label - [#​30078](quarkusio/quarkus#30078) - Quarkus Kotlin Native Reactive REST Client not working properly - [#​30061](quarkusio/quarkus#30061) - Adding Kotlin Tests Breaks Kotlin/Java project - [#​30044](quarkusio/quarkus#30044) - Resteasy Reactive Rest Client fails to re-construct large chunks of streamed json (stream+json) and fails deserialization - [#​29998](quarkusio/quarkus#29998) - Bump to smallrye-config 2.13.1 - [#​29918](quarkusio/quarkus#29918) - smallrye-config: Converter<Int> throws IllegalStateException - [#​29609](quarkusio/quarkus#29609) - Remove Reflection replacements, now supported by GraalVM </details> <details> <summary>quarkusio/quarkus-platform</summary> ### [`v2.15.3.Final`](quarkusio/quarkus-platform@2.15.2.Final...2.15.3.Final) [Compare Source](quarkusio/quarkus-platform@2.15.2.Final...2.15.3.Final) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
While playing around with
quarkus
,smallrye-graphql
andspock
I was running into problems while trying to execute a interaction based test case for a graphql endpoint with a mocked bean (Spock mock)The test case always failed with an generic error message, giving me a hard time to detect the real cause of the failing test:
After some debugging I found out that the exception is thrown in smallrye-graphql and then catched by the quarkus graphql extension in
quarkus/extensions/smallrye-graphql/runtime/src/main/java/io/quarkus/smallrye/graphql/runtime/spi/datafetcher/QuarkusDefaultDataFetcher.java
Lines 89 to 92 in 6014d34
and finally handled in
quarkus/extensions/smallrye-graphql/runtime/src/main/java/io/quarkus/smallrye/graphql/runtime/SmallRyeGraphQLExecutionHandler.java
Lines 324 to 327 in 6014d34
So the exception/cause of the problem gets swallowed -> No log message
Since such errors are bypassing all ExceptionHandler, ErroCodes .... mechanism, it's also not possible to make such exceptions appear in the logs by customization
Implementation ideas
A simple log entry would help a lot.
The text was updated successfully, but these errors were encountered: