pinpoint-apm/pinpoint · warning · InvalidParameterException
Invalid order by type : not supported.
Error message
Invalid order by type : not supported.
What it means
The Builder.setOrderby validates the orderBy string against the OrderBy enum via OrderBy.fromValue; unknown values yield null and an InvalidParameterException is thrown. Only the enumerated column names are accepted for sorting UriStat summary queries.
Solutions
- Pass one of the OrderBy.fromValue-recognized strings (check the OrderBy enum's accepted values).
- Normalize user input (case, separators) before calling setOrderby.
- Catch InvalidParameterException and fall back to a default ordering.
Example fix
// before
builder.setOrderby("TotalCount");
// after
builder.setOrderby("totalCount"); // value accepted by OrderBy.fromValue Defensive patterns
Strategy: validation
Validate before calling
OrderBy o = UriStatSummaryQueryParameter.OrderBy.fromValue(orderBy); if (o == null) orderBy = defaultOrderBy;
Try / catch
try { builder.setOrderby(orderBy); } catch (InvalidParameterException e) { builder.setOrderby(defaultOrderBy); } Prevention
- Whitelist sort fields in the client
- Normalize case before passing
- Document accepted orderBy values in the API
When it happens
Trigger: Builder.setOrderby("total") etc. where the string does not equal any OrderBy value (case-sensitive mismatch included).
Common situations: Clients passing sort field names from another API version; typos or camelCase vs underscore mismatches in the orderBy query parameter.
Understand the failure class
Background: Invalid enum value errors: "Unknown type", "Invalid scope", "must be one of" — when a string is not on the library's allowed list — this error's family across 23 libraries.
Related errors
- Failed to insert uriStat
- Invalid order by type : +orderBy+ not supported.
- Invalid uri stat chart type:
- Unknown compression option :
- Unknown InstrumentEngine
AI-assisted analysis of pinpoint-apm/pinpoint@744c3d3075 (2026-09-07).
Data as JSON: /api/errors/83139ef7d80c7e2f.
Report an issue: GitHub.
Appendix: source
Thrown at uristat/uristat-web/src/main/java/com/navercorp/pinpoint/uristat/web/util/UriStatSummaryQueryParameter.java:170
return self();
}
public Builder setApplicationName(String applicationName) {
this.applicationName = StringPrecondition.requireHasLength(applicationName, "applicationName");
return self();
}
public Builder setAgentId(String agentId) {
if (StringUtils.hasLength(agentId)) {
this.agentId = agentId;
}
return self();
}
public Builder setOrderby(String orderBy) throws InvalidParameterException {
UriStatSummaryQueryParameter.OrderBy order = OrderBy.fromValue(orderBy);
if (order == null) {
throw new InvalidParameterException("Invalid order by type : " + orderBy + " not supported.");
}
this.orderBy = order;
return self();
}
public Builder setDesc(boolean desc) {
if (desc) {
this.isDesc = "desc";
} else {
this.isDesc = "asc";
}
return self();
}
public Builder setLimit(int limit) {
this.limit = Ints.constrainToRange(limit, 50, 200);
return self();
}View on GitHub (pinned to 744c3d3075)