flowable/flowable-engine · error · FlowableIllegalArgumentException
deploymentTenantIdLike is null
Error message
deploymentTenantIdLike is null
What it means
EventDeploymentQueryImpl.deploymentTenantIdLike() throws FlowableIllegalArgumentException when the tenantIdLike pattern is null. Like-queries on the tenant column need a non-null pattern for the SQL LIKE clause. Empty strings are accepted; only null is rejected.
Solutions
- Only call deploymentTenantIdLike when the pattern is non-null.
- Provide a default pattern (e.g. tenantPrefix + "%") when the filter should still be applied.
- Fix the configuration/placeholder resolution that produced null.
Example fix
// before
query.deploymentTenantIdLike(request.getTenantLike());
// after
String tenantLike = request.getTenantLike();
if (tenantLike != null) {
query.deploymentTenantIdLike(tenantLike);
} Defensive patterns
Strategy: validation
Validate before calling
if (tenantIdLike != null) { query.deploymentTenantIdLike(tenantIdLike); } Type guard
boolean hasTenantPattern(String s) { return s != null; } Try / catch
try {
query.deploymentTenantIdLike(tenantLike);
} catch (FlowableIllegalArgumentException e) {
log.warn("Null tenant like-pattern ignored", e);
} Prevention
- Never forward raw optional parameters into like-filters
- Check placeholder resolution in configuration
- Use helper builders that ignore null filters
When it happens
Trigger: Calling eventDeploymentQuery().deploymentTenantIdLike(null), usually when the pattern comes from an optional search input or unresolved configuration value.
Common situations: Search UIs that pass the raw (absent) tenant filter; integration code where a Spring property like ${tenant.prefix} did not resolve and remained null.
Related errors
- case definition tenantId is null
- caseDefinition tenantId is null
- deploymentTenantId is null
- processDefinition tenantId is null
- Provided tentant id is null
AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11).
Data as JSON: /api/errors/0180fea758aec92e.
Report an issue: GitHub.
Appendix: source
Thrown at modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/EventDeploymentQueryImpl.java:141
@Override
public EventDeploymentQueryImpl deploymentWithoutTenantId() {
this.withoutTenantId = true;
return this;
}
@Override
public EventDeploymentQueryImpl deploymentTenantId(String tenantId) {
if (tenantId == null) {
throw new FlowableIllegalArgumentException("deploymentTenantId is null");
}
this.tenantId = tenantId;
return this;
}
@Override
public EventDeploymentQueryImpl deploymentTenantIdLike(String tenantIdLike) {
if (tenantIdLike == null) {
throw new FlowableIllegalArgumentException("deploymentTenantIdLike is null");
}
this.tenantIdLike = tenantIdLike;
return this;
}
@Override
public EventDeploymentQueryImpl eventDefinitionKey(String key) {
if (key == null) {
throw new FlowableIllegalArgumentException("key is null");
}
this.eventDefinitionKey = key;
return this;
}
@Override
public EventDeploymentQueryImpl eventDefinitionKeyLike(String keyLike) {
if (keyLike == null) {
throw new FlowableIllegalArgumentException("keyLike is null");View on GitHub (pinned to d6d39ce1c6)