{"record":{"id":"26b024bb31fca1d4","repo":"pinpoint-apm/pinpoint","slug":"runtimeexception-wrapping-exception-from-getrawsta","errorCode":null,"errorMessage":"RuntimeException wrapping Exception from getRawStatusCode","messagePattern":"RuntimeException wrapping Exception from getRawStatusCode","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"agent-module/plugins/spring-webflux/src/main/java/com/navercorp/pinpoint/plugin/spring/webflux/interceptor/util/Spring5HttpStatusProvider.java","lineNumber":31,"sourceCode":" * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.navercorp.pinpoint.plugin.spring.webflux.interceptor.util;\n\nimport org.springframework.http.client.reactive.ClientHttpResponse;\n\n/**\n * @author intr3p1d\n */\npublic class Spring5HttpStatusProvider implements HttpStatusProvider {\n    @Override\n    public int getStatusCode(Object target) {\n        if (target instanceof ClientHttpResponse) {\n            final ClientHttpResponse response = (ClientHttpResponse) target;\n            try {\n                return response.getRawStatusCode();\n            } catch (Exception e) {\n                throw new RuntimeException(e);\n            }\n        }\n        return -1;\n    }\n}\n","sourceCodeStart":13,"sourceCodeEnd":37,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/plugins/spring-webflux/src/main/java/com/navercorp/pinpoint/plugin/spring/webflux/interceptor/util/Spring5HttpStatusProvider.java#L13-L37","documentation":"Guard in Spring5HttpStatusProvider.getStatusCode: reading the raw status code from a reactive ClientHttpResponse threw a generic Exception (e.g. response already consumed or connection error in WebFlux); the provider wraps it in a RuntimeException to surface the failure at the interceptor.","triggerScenarios":"Thrown at agent-module/plugins/spring-webflux/src/main/java/com/navercorp/pinpoint/plugin/spring/webflux/interceptor/util/Spring5HttpStatusProvider.java:31 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the wrapped cause exception for the real failure","Ensure the response is read before the reactive stream is consumed/cancelled","Upgrade the spring-webflux plugin if hitting a known race reading raw status"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}