theonedev/onedev · error · ExplicitException

Description too long

Error message

Description too long

What it means

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.

Source

Thrown at server-core/src/main/java/io/onedev/server/service/impl/DefaultIssueChangeService.java:287

		if (totalSpentTime != prevTotalSpentTime) {
			issue.setTotalSpentTime(totalSpentTime);

			IssueChange change = new IssueChange();
			change.setIssue(issue);
			change.setUser(user);
			change.setData(new IssueTotalSpentTimeChangeData(prevTotalSpentTime, issue.getTotalSpentTime()));
			create(change, null);
			dao.persist(issue);
		}
	}
	
	@Transactional
	@Override
	public void changeDescription(User user, Issue issue, @Nullable String description) {
		String prevDescription = issue.getDescription();
		if (!Objects.equals(description, prevDescription)) {
			if (description != null && description.length() > Issue.MAX_DESCRIPTION_LEN)
				throw new ExplicitException("Description too long");
			issue.setDescription(description);
			issue.setDescriptionRevisionCount(issue.getDescriptionRevisionCount() + 1);
			referenceChangeService.addReferenceChange(user, issue, description);

			IssueChange change = new IssueChange();
			change.setIssue(issue);
			change.setUser(user);
			change.setData(new IssueDescriptionChangeData(prevDescription, issue.getDescription()));
			create(change, null);
			dao.persist(issue);

			var revision = new IssueDescriptionRevision();
			revision.setIssue(issue);
			revision.setUser(user);
			revision.setOldContent(prevDescription);
			revision.setNewContent(description);
			dao.persist(revision);
		}

View on GitHub (pinned to d44925c47c)

Solutions

  1. Shorten the description before saving.
  2. Attach long content as files or external links instead.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server-core/src/main/java/io/onedev/server/service/impl/DefaultIssueChangeService.java:287 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of theonedev/onedev@d44925c47c (2026-09-06). Data as JSON: /api/errors/72c42404fd860e47. Report an issue: GitHub.