{"record":{"id":"f5e66795dbf2ad7d","repo":"quarkusio/quarkus","slug":"dummy","errorCode":null,"errorMessage":"dummy","messagePattern":"dummy","errorType":"exception","errorClass":"NoStackTraceException","httpStatus":500,"severity":"info","filePath":"integration-tests/opentelemetry-reactive/src/main/java/io/quarkus/it/opentelemetry/reactive/ReactiveResource.java","lineNumber":97,"sourceCode":"        return Uni.combine().all().unis(\n                client.helloGetUniDelay(),\n                client.helloGet(\"Naruto\"),\n                client.helloGet(\"Goku\"),\n                client.helloGetUniExecutor())\n                .with((s, s2, s3, s4) -> s + \" and \" + s2 + \" and \" + s3 + \" and \" + s4);\n    }\n\n    @POST\n    public Uni<String> helloPost(String body) {\n        Span span = tracer.spanBuilder(\"helloPost\").startSpan();\n        return Uni.createFrom().item(\"Hello \" + body).onItem().delayIt().by(Duration.ofMillis(MILLISECONDS_DELAY))\n                .eventually((Runnable) span::end);\n    }\n\n    @Path(\"blockingException\")\n    @GET\n    public String blockingException() {\n        throw new NoStackTraceException(\"dummy\");\n    }\n\n    @Path(\"reactiveException\")\n    @GET\n    public Uni<String> reactiveException() {\n        return Uni.createFrom().item(() -> {\n            throw new NoStackTraceException(\"dummy2\");\n        });\n    }\n}\n","sourceCodeStart":79,"sourceCodeEnd":108,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/integration-tests/opentelemetry-reactive/src/main/java/io/quarkus/it/opentelemetry/reactive/ReactiveResource.java#L79-L108","documentation":"A NoStackTraceException with the message 'dummy' is thrown by the blockingException endpoint of the ReactiveResource OpenTelemetry test. Its purpose is to generate a deliberate server-side exception so the test can assert that the exception is recorded on the current OTel span (span status/events) without polluting output with stack traces. It is not an actual failure of application logic.","triggerScenarios":"GET .../blockingException is called by the test to produce a synchronous (blocking) exception that should be captured by the OpenTelemetry instrumentation.","commonSituations":"Appears when running the opentelemetry-reactive integration tests; also seen by anyone exercising the endpoint manually via curl/browser while tracing is active.","solutions":["If seen in tests, this is expected — verify the test asserts the span records the exception rather than failing on the 500 response.","If hit accidentally via HTTP, simply call a non-exception endpoint; this route always throws by design.","Ensure error-page/exception-mapper configuration doesn't suppress the expected OTel span error attributes.","When asserting, use the OTel testing collector to look for the span with an exception event carrying 'dummy'."],"exampleFix":"// before (endpoint intentionally throws)\n@Path(\"blockingException\")\n@GET\npublic String blockingException() {\n    throw new NoStackTraceException(\"dummy\");\n}\n// after (if you need a non-throwing variant for manual testing)\n@Path(\"blockingException\")\n@GET\npublic String blockingException() {\n    return \"ok\";\n}","handlingStrategy":"try-catch","validationCode":"if (path.endsWith(\"blockingException\")) {\n    // endpoint always throws by design; expect 500 and assert span exception\n}","typeGuard":null,"tryCatchPattern":"try {\n    response = given().get(\"/blockingException\");\n} catch (Exception e) {\n    // expected: endpoint always throws NoStackTraceException(\"dummy\")\n}\n// then assert the OTel span has an exception event with message 'dummy'","preventionTips":["Treat the 500 from this endpoint as the test signal, not a regression.","Assert on the OTel collector for the exception event rather than the HTTP status alone.","Keep NoStackTraceException for synthetic failures to keep logs clean.","Don't wire this endpoint into production error dashboards/SLIs."],"tags":["opentelemetry","tracing","test-endpoint","exception"],"backgroundTag":"intentional-test-exception","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}