{"record":{"id":"769cc3dd069819ce","repo":"apache/beam","slug":"input-to-multimap-side-input-must-be-kv-got-v","errorCode":null,"errorMessage":"input to MultiMap side input must be KV, got %v","messagePattern":"input to MultiMap side input must be KV, got (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"sdks/go/pkg/beam/core/graph/bind.go","lineNumber":218,"sourceCode":"\t\t\t\tif len(trimmed) != 1 {\n\t\t\t\t\treturn nil, kind, errors.Errorf(\"%v cannot bind to %v\", t, args[0])\n\t\t\t\t}\n\n\t\t\t\tkind = Iter\n\t\t\t\tother = typex.New(trimmed[0])\n\n\t\t\tcase funcx.FnReIter:\n\t\t\t\tvalues, _ := funcx.UnfoldReIter(args[0].T)\n\t\t\t\ttrimmed := trimIllegal(values)\n\t\t\t\tif len(trimmed) != 1 {\n\t\t\t\t\treturn nil, kind, errors.Errorf(\"%v cannot bind to %v\", t, args[0])\n\t\t\t\t}\n\n\t\t\t\tkind = ReIter\n\t\t\t\tother = typex.New(trimmed[0])\n\n\t\t\tcase funcx.FnMultiMap:\n\t\t\t\treturn nil, kind, errors.Errorf(\"input to MultiMap side input must be KV, got %v\", t)\n\n\t\t\tdefault:\n\t\t\t\treturn nil, kind, errors.Errorf(\"unexpected param kind: %v\", arg)\n\t\t\t}\n\t\t}\n\tcase typex.Composite:\n\t\tswitch t.Type() {\n\t\tcase typex.KVType:\n\t\t\tif isMain {\n\t\t\t\tif args[0].Kind != funcx.FnValue {\n\t\t\t\t\treturn nil, kind, errors.Errorf(\"key of %v cannot bind to %v\", t, args[0])\n\t\t\t\t}\n\t\t\t\tif args[1].Kind != funcx.FnValue {\n\t\t\t\t\treturn nil, kind, errors.Errorf(\"value of %v cannot bind to %v\", t, args[1])\n\t\t\t\t}\n\t\t\t\tother = typex.NewKV(typex.New(args[0].T), typex.New(args[1].T))\n\t\t\t} else {\n\t\t\t\tswitch args[0].Kind {","sourceCodeStart":200,"sourceCodeEnd":236,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/go/pkg/beam/core/graph/bind.go#L200-L236","documentation":"Error returned by tryBindInbound in the graph binder when a side input of kind funcx.FnMultiMap is being bound and the PCollection type t is not KV. MultiMap side inputs expose per-key iterables, which requires the side-input collection to be a KV<K, V> type; any other full type is rejected with this message showing the offending type.","triggerScenarios":"Thrown at sdks/go/pkg/beam/core/graph/bind.go:218 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Feed the MultiMap side input a KV<K,V> PCollection (apply beam.CoGBK or a KV conversion before the ParDo)","Use a different side-input kind (e.g. Iter/ReIter) if the collection is not KV"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"12126d8942aaf848030c478b4c6a28c6af861c66","analyzedAt":"2026-09-13T01:50:10.254Z","contentChangedAt":"2026-09-13T01:50:10.254Z","schemaVersion":2},"datasetVersion":"2026-09-20T03:17:13.778Z"}