{"record":{"id":"57a06c265f4a6258","repo":"pinpoint-apm/pinpoint","slug":"application-servicetype-not-found-code-servicet-57a06c","errorCode":null,"errorMessage":"application serviceType not found. code:${serviceTypeCode}, name:${serviceTypeName}","messagePattern":"application serviceType not found\\. code:(.+?), name:(.+?)","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":500,"severity":"error","filePath":"web/src/main/java/com/navercorp/pinpoint/web/authorization/controller/ScatterChartController.java","lineNumber":153,"sourceCode":"    private static ScatterView.ResultView wrapScatterResultView(Range range, ScatterView.DotView dotView) {\n        final Status status = new Status(System.currentTimeMillis(), range);\n        return ScatterView.wrapResult(dotView, status);\n    }\n\n    private ServiceType findServiceType(Integer serviceTypeCode, String serviceTypeName) {\n        if (serviceTypeCode != null) {\n            ServiceType serviceTypeFromCode = serviceTypeRegistryService.findServiceType(serviceTypeCode);\n            if (!ServiceType.UNDEFINED.equals(serviceTypeFromCode) && serviceTypeFromCode != null) {\n                return serviceTypeFromCode;\n            }\n        }\n        if (serviceTypeName != null) {\n            ServiceType serviceTypeFromName = serviceTypeRegistryService.findServiceTypeByName(serviceTypeName);\n            if (!ServiceType.UNDEFINED.equals(serviceTypeFromName) && serviceTypeFromName != null) {\n                return serviceTypeFromName;\n            }\n        }\n        throw new IllegalArgumentException(\"application serviceType not found. code:\" + serviceTypeCode + \", name:\" + serviceTypeName);\n    }\n\n    private String findServiceTypeName(int serviceTypeCode) {\n        final ServiceType serviceType = serviceTypeRegistryService.findServiceType(serviceTypeCode);\n        if (serviceType == null) {\n            return null;\n        }\n        return serviceType.getName();\n    }\n}\n","sourceCodeStart":135,"sourceCodeEnd":164,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/web/src/main/java/com/navercorp/pinpoint/web/authorization/controller/ScatterChartController.java#L135-L164","documentation":"ScatterChartController.findServiceType resolves the scatter-chart request's ServiceType from serviceTypeCode then serviceTypeName; when neither maps to a registered non-UNDEFINED type it throws IllegalArgumentException with this message. The scatter chart needs the concrete service type to build its data query.","triggerScenarios":"Calling scatter chart endpoints (getScatterData) with an unregistered serviceTypeCode or a serviceTypeName that findServiceTypeByName cannot resolve.","commonSituations":"Typo or wrong-case serviceTypeName; custom service types not deployed on the web server; stale clients sending outdated type codes after an upgrade.","solutions":["Supply the exact registered serviceTypeName (e.g. TOMCAT) or its correct serviceTypeCode","Deploy/verify custom service-type definitions on the Pinpoint web server","Check the application's service type in the Pinpoint UI and use that value"],"exampleFix":"// before\nGET /getScatterData?applicationName=myApp&serviceTypeName=tomcat&from=...&to=...\n// after\nGET /getScatterData?applicationName=myApp&serviceTypeName=TOMCAT&from=...&to=...","handlingStrategy":"validation","validationCode":"if (!serviceTypeCode && !serviceTypeName) throw new Error('scatter chart requires serviceTypeCode or serviceTypeName');","typeGuard":null,"tryCatchPattern":"try { ... } catch (IllegalArgumentException e) { if (e.getMessage().contains(\"serviceType not found\")) { /* correct serviceTypeName/code and retry */ } else { throw e; } }","preventionTips":["Use exact registered service type names","Keep client type codes in sync with server service-type registry","Deploy custom service types to the web server before querying"],"tags":["service-type","not-found","rest-api","pinpoint"],"backgroundTag":"invalid-enum-value","analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}