{"record":{"id":"cb546fd6cfdb1c78","repo":"weaviate/weaviate","slug":"w-unrecognized-data-type-for-property-s","errorCode":null,"errorMessage":"%w: unrecognized data type for property: %s","messagePattern":"%w: unrecognized data type for property: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"adapters/repos/db/shard_group_by.go","lineNumber":45,"sourceCode":")\n\nfunc (s *Shard) groupResults(ctx context.Context, ids []uint64,\n\tdists []float32, groupBy *searchparams.GroupBy,\n\tadditional additional.Properties, properties []string,\n) ([]*storobj.Object, []float32, error) {\n\tobjsBucket := s.store.Bucket(helpers.ObjectsBucketLSM)\n\tclassName := s.index.Config.ClassName\n\tclass := s.index.getSchema.ReadOnlyClass(className.String())\n\tif class == nil {\n\t\treturn nil, nil, fmt.Errorf(\"could not find class %s in schema\", className)\n\t}\n\tprop, err := schema.GetPropertyByName(class, groupBy.Property)\n\tif err != nil {\n\t\treturn nil, nil, fmt.Errorf(\"%w: unrecognized property: %s\", err, groupBy.Property)\n\t}\n\tdt, err := schema.FindPropertyDataTypeWithRefs(s.index.getSchema.ReadOnlyClass, prop.DataType, false, \"\")\n\tif err != nil {\n\t\treturn nil, nil, fmt.Errorf(\"%w: unrecognized data type for property: %s\", err, groupBy.Property)\n\t}\n\n\tvar props []string\n\tprops = append(props, properties...)\n\tfor _, propTmp := range groupBy.Properties {\n\t\tprops = append(props, propTmp.Name)\n\t}\n\n\treturn newGrouper(ids, dists, groupBy, objsBucket, dt, additional, props).Do(ctx)\n}\n\ntype grouper struct {\n\tids              []uint64\n\tdists            []float32\n\tgroupBy          *searchparams.GroupBy\n\tadditional       additional.Properties\n\tpropertyDataType schema.PropertyDataType\n\tobjBucket        *lsmkv.Bucket","sourceCodeStart":27,"sourceCodeEnd":63,"githubUrl":"https://github.com/weaviate/weaviate/blob/75aa4b6d11f8818305aafd4440b4e32794f7ca04/adapters/repos/db/shard_group_by.go#L27-L63","documentation":"After resolving the groupBy property name, groupResults resolves its data type with schema.FindPropertyDataTypeWithRefs. Failure means the property's declared dataType cannot be interpreted by the schema — an internal schema-consistency problem rather than a bad user input name (the name resolved, its type didn't).","triggerScenarios":"Grouped search on a collection whose property has an unresolvable dataType, typically after a broken schema update, migration, or manually edited schema metadata referencing an unknown type or dangling cross-reference.","commonSituations":"Schema upgraded/downgraded across Weaviate versions where a dataType string is no longer registered; partially applied schema migration; corrupted schema metadata for cross-reference types.","solutions":["Inspect the property's dataType in GET /v1/schema and correct it via the schema update API (PATCH /v1/schema/{className})","If a cross-reference type is dangling, fix or remove the reference property","Restore schema from a backup taken before the corrupting change","Report/verify against the Weaviate version: check release notes for dataType changes"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"// verify the property's dataType resolves\nconst prop = schema.classes.find(c => c.class === cls)\n  ?.properties.find(p => p.name === name)\nconst knownTypes = [\"text\",\"string\",\"int\",\"number\",\"boolean\",\"date\",\"geoCoordinates\",\n  \"blob\",\"phoneNumber\",\"uuid\", \"text[]\",\"int[]\", ...];\nif (prop && prop.dataType.some(dt => !knownTypes.includes(dt) && !crossRefOk(dt)))\n  repairSchema(cls, name);","typeGuard":null,"tryCatchPattern":"// fall back to ungrouped search if schema is inconsistent\nobjs, err := shard.GroupResults(...)\nif err != nil && strings.Contains(err.Error(), \"unrecognized data type\") {\n  objs, err = shard.SearchUnGrouped(...) // degraded but usable results\n}","preventionTips":["Avoid hand-editing schema metadata; use the schema API only","Test schema migrations on a staging copy first","Keep backups before schema changes","Upgrade all nodes together to avoid dataType registry mismatches"],"tags":["schema","group-by","data-type","consistency"],"backgroundTag":"unrecognized-property-data-type","analyzedSha":"75aa4b6d11f8818305aafd4440b4e32794f7ca04","analyzedAt":"2026-09-04T14:58:20.392Z","contentChangedAt":"2026-09-04T14:58:20.392Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}