flowable/flowable-engine · error · FlowableIllegalArgumentException

Provided name is null

Error message

Provided name is null

What it means

Fluent-setter validation in GroupQueryImpl.groupName: a null name filter was passed to the identity group query and is rejected as a caller error before query execution.

Solutions

  1. Guard for null before calling groupName(); omit the filter when the name is absent.
  2. If 'absent' should mean match-all, do not add the criterion.
  3. Convert empty strings to a deliberate decision: either filter on "" or skip the criterion.
  4. Validate request parameters at the boundary before query construction.

Example fix

// before
String name = filter.getName(); // may be null
query = identityService.createGroupQuery().groupName(name);
// after
GroupQuery query = identityService.createGroupQuery();
if (filter.getName() != null) {
    query = query.groupName(filter.getName());
}
Defensive patterns

Strategy: validation

Validate before calling

GroupQuery q = identityService.createGroupQuery();
if (name != null) {
    q = q.groupName(name);
}

Try / catch

try {
    q = q.groupName(name);
} catch (FlowableIllegalArgumentException e) {
    throw new BadRequestException("group name must not be null", e);
}

Prevention

When it happens

Trigger: Calling .groupName(null), usually because the name parameter originates from nullable user input or an optional lookup result.

Common situations: Search forms with an empty/unset name field, controller code passing null when a filter is absent, refactors turning empty-string filters into null.

Related errors


AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11). Data as JSON: /api/errors/b620fe34793cada1. Report an issue: GitHub.

Appendix: source

Thrown at modules/flowable-idm-engine/src/main/java/org/flowable/idm/engine/impl/GroupQueryImpl.java:76

            throw new FlowableIllegalArgumentException("Provided id is null");
        }
        this.id = id;
        return this;
    }

    @Override
    public GroupQuery groupIds(List<String> ids) {
        if (ids == null) {
            throw new FlowableIllegalArgumentException("Provided id list is null");
        }
        this.ids = ids;
        return this;
    }

    @Override
    public GroupQuery groupName(String name) {
        if (name == null) {
            throw new FlowableIllegalArgumentException("Provided name is null");
        }
        this.name = name;
        return this;
    }

    @Override
    public GroupQuery groupNameLike(String nameLike) {
        if (nameLike == null) {
            throw new FlowableIllegalArgumentException("Provided name is null");
        }
        this.nameLike = nameLike;
        return this;
    }

    @Override
    public GroupQuery groupNameLikeIgnoreCase(String nameLikeIgnoreCase) {
        if (nameLikeIgnoreCase == null) {
            throw new FlowableIllegalArgumentException("Provided name is null");

View on GitHub (pinned to d6d39ce1c6)