{"record":{"id":"5d175d7269fc5a52","repo":"pinpoint-apm/pinpoint","slug":"unsupported-matchingrule","errorCode":null,"errorMessage":"unsupported matchingRule:","messagePattern":"unsupported matchingRule:","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricHostInfoServiceImpl.java","lineNumber":101,"sourceCode":"        return metricDefinitionIdList;\n    }\n\n    @Override\n    public List<String> getCollectedMetricInfoTags(String tenantId, String hostGroupName, String hostName, String metricDefinitionId) {\n        String metricName = systemMetricBasicGroupManager.findMetricName(metricDefinitionId);\n\n        return systemMetricHostInfoDao.selectCollectedMetricTags(tenantId, hostGroupName, hostName, metricName);\n    }\n\n    @Override\n    public List<MetricTag> getTag(MetricDataSearchKey metricDataSearchKey, Field field, List<Tag> tags) {\n        MatchingRule matchingRule = field.getMatchingRule();\n\n        return switch (matchingRule) {\n            case EXACT_ONE -> getExactMatchingTag(metricDataSearchKey, field);\n            case ANY_ONE -> getAnyOneTag(metricDataSearchKey, field);\n            case PASSED_ALL -> createTag(metricDataSearchKey, field, tags);\n            default -> throw new UnsupportedOperationException(\"unsupported matchingRule:\" + matchingRule);\n        };\n    }\n\n    private List<MetricTag> getAnyOneTag(MetricDataSearchKey metricDataSearchKey, Field field) {\n        long saveTime = getSaveTime();\n        MetricTagKey metricTagKey = new MetricTagKey(metricDataSearchKey.getTenantId(),\n                metricDataSearchKey.getHostGroupName(), metricDataSearchKey.getHostName(),\n                metricDataSearchKey.getMetricName(), field.getName(), saveTime);\n        MetricTagCollection metricTagCollection = systemMetricHostInfoDao.selectMetricTagCollection(metricTagKey);\n\n        List<MetricTag> metricTagList = metricTagCollection.getMetricTagList();\n        List<MetricTag> anyOneTag = new ArrayList<>();\n\n        if (metricTagList.isEmpty()) {\n            return Collections.emptyList();\n        }\n\n        MetricTag metricTag = metricTagList.get(0);","sourceCodeStart":83,"sourceCodeEnd":119,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricHostInfoServiceImpl.java#L83-L119","documentation":"Sentinel RuntimeException in getTag: the field's MatchingRule (field.getMatchingRule()) does not match any supported case in the switch, so tag selection cannot proceed — the metric field definition uses an unknown matching rule.","triggerScenarios":"Thrown at metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricHostInfoServiceImpl.java:101 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Correct the matchingRule in the metric definition configuration","Extend the switch with the missing MatchingRule case"],"exampleFix":null,"handlingStrategy":"type-guard","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"}