redis/go-redis · error
unexpected response type: %T
Error message
unexpected response type: %T
What it means
Error "unexpected response type: %T" thrown in redis/go-redis.
Source
Thrown at search_commands.go:1022
if mapVal, ok := cmd.rawVal.(map[interface{}]interface{}); ok {
cmd.val, err = parseFTAggregateMapRESP3(mapVal)
} else {
return fmt.Errorf("unexpected RESP3 response type: %T", cmd.rawVal)
}
return err
}
// RESP2 format or error response - use ReadReply to handle errors properly
data, err := rd.ReadReply()
if err != nil {
return err
}
cmd.rawVal = data // Store raw value for debugging
if dataSlice, ok := data.([]interface{}); ok {
cmd.val, err = ProcessAggregateResult(dataSlice)
return err
}
return fmt.Errorf("unexpected response type: %T", data)
}
// parseFTAggregateMapRESP3 parses the RESP3 format response from FT.AGGREGATE.
// It takes a map[interface{}]interface{} which is the raw response from ReadReply().
// RESP3 format:
//
// %5
// $10 attributes => *0
// $13 total_results => :N
// $6 format => $6 STRING
// $7 results => *N (array of maps with extra_attributes, values)
// $7 warning => *N (array of strings)
func parseFTAggregateMapRESP3(data map[interface{}]interface{}) (*FTAggregateResult, error) {
result := &FTAggregateResult{
Rows: make([]AggregateRow, 0),
}
for k, v := range data {View on GitHub (pinned to c5cad058c7)
When it happens
Trigger: Thrown at search_commands.go:1022 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of redis/go-redis@c5cad058c7 (2026-09-01).
Data as JSON: /api/errors/4cdcf07028e1791b.
Report an issue: GitHub.