{"record":{"id":"72c42404fd860e47","repo":"theonedev/onedev","slug":"description-too-long","errorCode":null,"errorMessage":"Description too long","messagePattern":"Description too long","errorType":"validation","errorClass":"ExplicitException","httpStatus":null,"severity":"error","filePath":"server-core/src/main/java/io/onedev/server/service/impl/DefaultIssueChangeService.java","lineNumber":287,"sourceCode":"\t\tif (totalSpentTime != prevTotalSpentTime) {\n\t\t\tissue.setTotalSpentTime(totalSpentTime);\n\n\t\t\tIssueChange change = new IssueChange();\n\t\t\tchange.setIssue(issue);\n\t\t\tchange.setUser(user);\n\t\t\tchange.setData(new IssueTotalSpentTimeChangeData(prevTotalSpentTime, issue.getTotalSpentTime()));\n\t\t\tcreate(change, null);\n\t\t\tdao.persist(issue);\n\t\t}\n\t}\n\t\n\t@Transactional\n\t@Override\n\tpublic void changeDescription(User user, Issue issue, @Nullable String description) {\n\t\tString prevDescription = issue.getDescription();\n\t\tif (!Objects.equals(description, prevDescription)) {\n\t\t\tif (description != null && description.length() > Issue.MAX_DESCRIPTION_LEN)\n\t\t\t\tthrow new ExplicitException(\"Description too long\");\n\t\t\tissue.setDescription(description);\n\t\t\tissue.setDescriptionRevisionCount(issue.getDescriptionRevisionCount() + 1);\n\t\t\treferenceChangeService.addReferenceChange(user, issue, description);\n\n\t\t\tIssueChange change = new IssueChange();\n\t\t\tchange.setIssue(issue);\n\t\t\tchange.setUser(user);\n\t\t\tchange.setData(new IssueDescriptionChangeData(prevDescription, issue.getDescription()));\n\t\t\tcreate(change, null);\n\t\t\tdao.persist(issue);\n\n\t\t\tvar revision = new IssueDescriptionRevision();\n\t\t\trevision.setIssue(issue);\n\t\t\trevision.setUser(user);\n\t\t\trevision.setOldContent(prevDescription);\n\t\t\trevision.setNewContent(description);\n\t\t\tdao.persist(revision);\n\t\t}","sourceCodeStart":269,"sourceCodeEnd":305,"githubUrl":"https://github.com/theonedev/onedev/blob/d44925c47c37992c828ea673a5f9620539bc3ff2/server-core/src/main/java/io/onedev/server/service/impl/DefaultIssueChangeService.java#L269-L305","documentation":"Length guard in DefaultIssueChangeService.changeDescription: the new issue description exceeds the maximum allowed length for the description field, so the change is rejected instead of being persisted/truncated. Fix: shorten the description below the limit.","triggerScenarios":"Thrown at server-core/src/main/java/io/onedev/server/service/impl/DefaultIssueChangeService.java:287 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Shorten the description before saving.","Attach long content as files or external links instead."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d44925c47c37992c828ea673a5f9620539bc3ff2","analyzedAt":"2026-09-06T07:18:27.995Z","contentChangedAt":"2026-09-06T07:18:27.995Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}