weaviate/weaviate · error
failed to extract timestamp prop, unsupported type '%T' for
Error message
failed to extract timestamp prop, unsupported type '%T' for prop '%s'
What it means
Final catch-all in extractTimestampProp: the property's schema dataType is not one of the timestamp-capable types the switch handles, so no value extraction is attempted at all. It reports both the unsupported propType and the property name.
Source
Thrown at adapters/repos/db/inverted/searcher.go:864
parsed, err := time.Parse(time.RFC3339, t)
if err != nil {
return nil, fmt.Errorf("trying parse time as RFC3339 string: %w", err)
}
asInt64 = parsed.UnixMilli()
case time.Time:
asInt64 = t.UnixMilli()
default:
return nil, fmt.Errorf("expected value to be string or time.Time, got '%T'", value)
}
// if propType is a `valueDate`, we need to convert
// it to ms before fetching. this is the format by
// which our timestamps are indexed
byteValue = []byte(strconv.FormatInt(asInt64, 10))
default:
return nil, fmt.Errorf(
"failed to extract timestamp prop, unsupported type '%T' for prop '%s'", propType, propName)
}
return &propValuePair{
value: byteValue,
prop: propName,
operator: operator,
hasFilterableIndex: HasFilterableIndexTimestampProp, // TODO text_rbm_inverted_index & with settings
hasSearchableIndex: HasSearchableIndexTimestampProp, // TODO text_rbm_inverted_index & with settings
Class: class,
}, nil
}
func (s *Searcher) extractTokenizableProp(prop *models.Property, propType schema.DataType,
value interface{}, operator filters.Operator, class *models.Class,
) (*propValuePair, error) {
valueString, ok := value.(string)
if !ok {View on GitHub (pinned to 75aa4b6d11)
Solutions
- Check the collection schema and confirm the property dataType is date (or the timestamp type you intend)
- Fix the filter path to target the correct date property
- Recreate/migrate the property with the correct dataType if the schema is wrong
- Use a value filter matching the actual propType (e.g. valueText for text props)
Example fix
// schema has createdAt as date — filter it, not a text field
// before
{"path":["note"],"valueDate":"2024-01-01T00:00:00Z"}
// after
{"path":["createdAt"],"valueDate":"2024-01-01T00:00:00Z"} Defensive patterns
Strategy: validation
Validate before calling
func canTimestampFilter(propType string) bool {
return propType == "date" || propType == "dateWithNano"
}
// check schema before building the filter
// prop, _ := schema.GetProperty(class, propName); assert prop.DataType[0] is date Try / catch
pv, err := build(...)
if err != nil && strings.Contains(err.Error(), "failed to extract timestamp prop") {
return fmt.Errorf("property %q does not support date filtering; check its dataType", propName)
} Prevention
- Fetch the collection schema and map each property to its allowed filter value type
- Keep client-side schema caches in sync after migrations
- Route filters to extractors matching the actual dataType
When it happens
Trigger: Applying a date/timestamp-style filter (path routed to extractTimestampProp via extractInternalProp) to a property whose dataType is text, int, bool, etc.
Common situations: Schema drift — property was created with dataType text/phoneNumber but client filters it as a date; typos in property routing; referencing _additional or meta fields as dates.
Related errors
- expected value type to be text, got %v
- failed to extract length of prop, unsupported type '%T' for
- failed to extract null prop, unsupported type '%T' for null
- unsupported type '%T' for '%v' operator
- property '%s' is neither filterable nor searchable nor range
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/489bf54da1989cb9.
Report an issue: GitHub.