GROUP_CARDINALITY_EXCEEDED — too many distinct group buckets
cyoda-go version 0.8.4
errors.GROUP_CARDINALITY_EXCEEDED
Section titled “errors.GROUP_CARDINALITY_EXCEEDED”GROUP_CARDINALITY_EXCEEDED — the grouped-statistics query produced more distinct group keys than the configured ceiling allows.
SYNOPSIS
Section titled “SYNOPSIS”HTTP: 422 Unprocessable Entity. Retryable: no.
DESCRIPTION
Section titled “DESCRIPTION”Raised by POST /api/entity/stats/{entityName}/{modelVersion}/query. CYODA_STATS_GROUP_MAX (default 10000) bounds the number of distinct buckets the endpoint will build. The bound is enforced on both execution paths — the backend’s native GROUP BY pushdown and the in-process streaming tally — so the same query is rejected identically on every storage backend.
No partial result is returned: the buckets accumulated so far are a prefix of the answer, not the answer, and returning them would be indistinguishable from a complete result.
Retrying the same request gives the same outcome. Narrow the population with a more selective condition, drop a groupBy dimension (high-cardinality payload fields such as identifiers are the usual cause), or have an operator raise CYODA_STATS_GROUP_MAX. Note that limit does not help: it caps the buckets returned after the full set has been built, so the ceiling is reached first — a limit above the ceiling is itself rejected with INVALID_LIMIT.
SEE ALSO
Section titled “SEE ALSO”- errors
- crud
- config
- errors.INVALID_LIMIT
See also
Section titled “See also”cyoda help errors— Every error response from the Cyoda REST API carries a structurederrorCodein thepropertiesobject. Multiple codes may share the same HTTP status. Programmatic handling keys onerrorCode, not HTTP status.cyoda help crud— Entities are instances of models. Each entity has a UUID, a model reference (entityName,modelVersion), and a lifecycle state managed by the workflow engine. Creating an entity requires the referenced model to be inLOCKEDstate. All write operations run within a Cyoda transaction and return atransactionIdalongside the affected entity IDs.cyoda help config— Environment variables beat default values. The_FILEsuffix variant takes precedence over the plain variable when both are set — for example,CYODA_POSTGRES_URL_FILE=/etc/secrets/db-urlwins overCYODA_POSTGRES_URL. There are no command-line flags for configuration values; env vars are the sole configuration surface.cyoda help errors INVALID_LIMIT— Raised byPOST /api/entity/stats/{entityName}/{modelVersion}/query.limitis optional; when present it is a top-N cap on the buckets returned, and it must be greater than zero and no greater than the server’sCYODA_STATS_GROUP_MAX(default10000). A value outside that range is rejected up front rather than clamped, so the response never silently covers a smaller set than the one asked for. The message carries the configured maximum.
Raw formats
Section titled “Raw formats”/help/errors/group_cardinality_exceeded.json— full descriptor (matchesGET /help/{topic}envelope)/help/errors/group_cardinality_exceeded.md— body only