{"record":{"id":"b697aa2044868bc4","repo":"alibaba/spring-ai-alibaba","slug":"error-b697aa","errorCode":null,"errorMessage":"评测集不存在: ","messagePattern":"评测集不存在: ","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"spring-ai-alibaba-admin/spring-ai-alibaba-admin-server-start/src/main/java/com/alibaba/cloud/ai/studio/admin/service/impl/DatasetServiceImpl.java","lineNumber":134,"sourceCode":"\n        DatasetVersionDO datasetVersionDO = datasetVersionMapper.selectLatestVersion(dataset.getId());\n\n        if(Objects.nonNull(datasetVersionDO)){\n            dataset.setDataCount(datasetVersionDO.getDataCount());\n            dataset.setLatestVersion(datasetVersionDO.getVersion());\n            dataset.setLatestVersionId(datasetVersionDO.getId());\n        }\n        \n        return dataset;\n    }\n\n    @Override\n    public Dataset update(DatasetUpdateRequest request) {\n        log.info(\"更新评测集: {}\", request);\n\n         DatasetDO existingDataset = datasetMapper.selectById(request.getDatasetId());\n         if (existingDataset == null) {\n             throw new IllegalArgumentException(\"评测集不存在: \" + request.getDatasetId());\n         }\n\n\n        datasetMapper.update(request.getDatasetId(),request.getName(),request.getDescription());\n        existingDataset.setName(request.getName());\n        existingDataset.setDescription(request.getDescription());\n\n        return Dataset.fromDO(existingDataset);\n    }\n\n    @Override\n    @Transactional\n    public void deleteById(Long id) {\n        log.info(\"删除评测集: {}\", id);\n        datasetMapper.deleteById(id);\n        log.info(\"评测集删除成功: {}\", id);\n    }\n","sourceCodeStart":116,"sourceCodeEnd":152,"githubUrl":"https://github.com/alibaba/spring-ai-alibaba/blob/f82da0b50f35744c13968191be2b1cd2452ef550/spring-ai-alibaba-admin/spring-ai-alibaba-admin-server-start/src/main/java/com/alibaba/cloud/ai/studio/admin/service/impl/DatasetServiceImpl.java#L116-L152","documentation":"Not-found error in DatasetServiceImpl.update. The service loads the dataset by request.getDatasetId() before applying updates; when no dataset row matches that id it throws an error reporting the missing id, because a nonexistent dataset cannot be updated. Typically means the dataset was deleted or the client sent a stale/incorrect datasetId. Callers should treat it as a 404-style condition.","triggerScenarios":"Calling update(DatasetUpdateRequest) with a datasetId that was deleted, never created, or from another environment/database.","commonSituations":"Stale dataset id in a long-lived client after deletion; swapping datasetId and itemId; wrong DB profile between dev and prod; hard-coded ids from an old test run.","solutions":["Fetch the current dataset id via the list/get API before updating","Confirm the dataset still exists (it may have been deleted by another user/job)","Check you are passing datasetId, not a version or item id","Verify the app connects to the environment where the dataset lives"],"exampleFix":"// before\nDatasetUpdateRequest req = new DatasetUpdateRequest();\nreq.setDatasetId(42L); // deleted\ndatasetService.update(req);\n// after\nif (datasetService.getById(42L) == null) { throw new BusinessException(\"dataset 42 not found\"); }\ndatasetService.update(req);","handlingStrategy":"validation","validationCode":"if (datasetService.getById(req.getDatasetId()) == null) { throw new BusinessException(\"dataset not found: \" + req.getDatasetId()); }","typeGuard":"boolean datasetExists(Long id) { return id != null && datasetService.getById(id) != null; }","tryCatchPattern":"try { datasetService.update(req); } catch (IllegalArgumentException e) { if (e.getMessage().startsWith(\"评测集不存在\")) { refreshDatasetList(); } else { throw e; } }","preventionTips":["Re-fetch dataset ids before updates instead of using cached values","Handle deletion by other users gracefully (refresh UI list)","Use @Positive and existence checks in the controller layer"],"tags":["mybatis","update","resource-not-found"],"backgroundTag":"record-not-found","analyzedSha":"f82da0b50f35744c13968191be2b1cd2452ef550","analyzedAt":"2026-09-09T15:32:42.421Z","contentChangedAt":"2026-09-09T15:32:42.421Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}