flowable/flowable-engine · error · ActivitiIllegalArgumentException
Task descriptionlike is null
Error message
Task descriptionlike is null
What it means
Fluent-setter validation in flowable5 TaskQueryImpl.taskDescriptionLike: a null LIKE pattern was passed for the task-description filter and rejected.
Solutions
- Apply the filter conditionally only when the pattern is non-null
- Trim/coerce empty strings to no-filter at the boundary instead of null
- Centralize query building in a helper that handles optional criteria uniformly
Example fix
// before
query.taskDescriptionLike(criteria.getDescriptionLike()); // may be null
// after
String descriptionLike = criteria.getDescriptionLike();
if (descriptionLike != null) {
query.taskDescriptionLike(descriptionLike);
} Defensive patterns
Strategy: type-guard
Validate before calling
if (descriptionLike == null) { /* skip filter */ } Type guard
void addDescriptionLike(TaskQuery query, String pattern) {
if (pattern != null && !pattern.isEmpty()) {
query.taskDescriptionLike(pattern);
}
} Try / catch
try {
query.taskDescriptionLike(pattern);
} catch (org.activiti.engine.ActivitiIllegalArgumentException e) {
// no pattern supplied: build query without description filter
} Prevention
- Apply optional criteria only when non-null
- Centralize null-to-no-filter normalization
- Document which query methods reject null
When it happens
Trigger: Calling taskDescriptionLike(null) with a pattern sourced from an unset request field or variable.
Common situations: Advanced-search endpoints where the descriptionLike parameter is optional and passed through unchecked; map lookups returning null for missing keys; Optional.orElse(null) usage.
Related errors
- Description is null
- None of the given process categories can be null
- Priority is null
- Task descriptionLikeIgnoreCase is null
- Task namelike is null
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/9652523bfb5c58f6.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable5-engine/src/main/java/org/activiti/engine/impl/TaskQueryImpl.java:274
@Override
public TaskQueryImpl taskDescription(String description) {
if (description == null) {
throw new ActivitiIllegalArgumentException("Description is null");
}
if (orActive) {
currentOrQueryObject.description = description;
} else {
this.description = description;
}
return this;
}
@Override
public TaskQuery taskDescriptionLike(String descriptionLike) {
if (descriptionLike == null) {
throw new ActivitiIllegalArgumentException("Task descriptionlike is null");
}
if (orActive) {
currentOrQueryObject.descriptionLike = descriptionLike;
} else {
this.descriptionLike = descriptionLike;
}
return this;
}
@Override
public TaskQuery taskDescriptionLikeIgnoreCase(String descriptionLikeIgnoreCase) {
if (descriptionLikeIgnoreCase == null) {
throw new ActivitiIllegalArgumentException("Task descriptionLikeIgnoreCase is null");
}
if (orActive) {
currentOrQueryObject.descriptionLikeIgnoreCase = descriptionLikeIgnoreCase.toLowerCase();
} else {
this.descriptionLikeIgnoreCase = descriptionLikeIgnoreCase.toLowerCase();View on GitHub (pinned to d6d39ce1c6)