temporalio/temporal · error
%w: expected json.Number got %T
Error message
%w: expected json.Number got %T
What it means
Error "%w: expected json.Number got %T" thrown in temporalio/temporal.
Source
Thrown at common/persistence/visibility/store/elasticsearch/visibility_store.go:1299
}
switch t {
case enumspb.INDEXED_VALUE_TYPE_TEXT,
enumspb.INDEXED_VALUE_TYPE_KEYWORD,
enumspb.INDEXED_VALUE_TYPE_KEYWORD_LIST,
enumspb.INDEXED_VALUE_TYPE_DATETIME:
stringVal, isString := val.(string)
if !isString {
return nil, fmt.Errorf("%w: expected string got %T", errUnexpectedJSONFieldType, val)
}
if t == enumspb.INDEXED_VALUE_TYPE_DATETIME {
return time.Parse(time.RFC3339Nano, stringVal)
}
return stringVal, nil
case enumspb.INDEXED_VALUE_TYPE_INT, enumspb.INDEXED_VALUE_TYPE_DOUBLE:
numberVal, isNumber := val.(json.Number)
if !isNumber {
return nil, fmt.Errorf("%w: expected json.Number got %T", errUnexpectedJSONFieldType, val)
}
if t == enumspb.INDEXED_VALUE_TYPE_INT {
return numberVal.Int64()
}
return numberVal.Float64()
case enumspb.INDEXED_VALUE_TYPE_BOOL:
boolVal, isBool := val.(bool)
if !isBool {
return nil, fmt.Errorf("%w: expected bool got %T", errUnexpectedJSONFieldType, val)
}
return boolVal, nil
}
panic(fmt.Sprintf("Unknown field type: %v", t))
}
func ConvertElasticsearchClientError(message string, err error, logger log.Logger) error {
// This message is returned to client, avoiding including too much details.View on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at common/persistence/visibility/store/elasticsearch/visibility_store.go:1299 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01).
Data as JSON: /api/errors/9de202d3fb59103a.
Report an issue: GitHub.