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:1205

			"unable to read search attribute types: %v", err,
		)
	}

	combinedTypeMap := store.CombineTypeMaps(saTypeMap, chasmMapper)

	groupByTypes := make([]enumspb.IndexedValueType, len(groupByFields))
	for i, saName := range groupByFields {
		tp, err := combinedTypeMap.GetType(saName)
		if err != nil {
			return nil, err
		}
		groupByTypes[i] = tp
	}

	parseJsonNumber := func(val any) (int64, error) {
		numberVal, isNumber := val.(json.Number)
		if !isNumber {
			return 0, fmt.Errorf("%w: expected json.Number, got %T", errUnexpectedJSONFieldType, val)
		}
		return numberVal.Int64()
	}

	var parseInternal func(map[string]any, []*commonpb.Payload) error
	parseInternal = func(aggs map[string]any, bucketValues []*commonpb.Payload) error {
		if len(bucketValues) == len(groupByFields) {
			cnt, err := parseJsonNumber(aggs["doc_count"])
			if err != nil {
				return fmt.Errorf("unable to parse 'doc_count' field: %w", err)
			}
			groupValues := make([]*commonpb.Payload, len(groupByFields))
			copy(groupValues, bucketValues)
			response.Groups = append(
				response.Groups,
				store.InternalAggregationGroup{
					GroupValues: groupValues,
					Count:       cnt,

View on GitHub (pinned to bde624efd1)

When it happens

Trigger: Thrown at common/persistence/visibility/store/elasticsearch/visibility_store.go:1205 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/5bbabfa788c27a9e. Report an issue: GitHub.