{"record":{"id":"9164fbff33a08262","repo":"apache/beam","slug":"unexpected-payload-v","errorCode":null,"errorMessage":"unexpected payload: %v","messagePattern":"unexpected payload: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"sdks/go/pkg/beam/core/runtime/exec/translate.go","lineNumber":780,"sourceCode":"\t\t\tvar pid string\n\t\t\t// There's only one output PCollection, and iterating through the map\n\t\t\t// is the only way to extract it.\n\t\t\tfor _, id := range transform.GetOutputs() {\n\t\t\t\tpid = id\n\t\t\t}\n\t\t\t_, w, err := b.makeCoderForPCollection(pid)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tpreservedCoderID := tp.GetReshuffle().GetCoderId()\n\t\t\tpc, err := unmarshalReshuffleCoders(preservedCoderID, tp.GetReshuffle().GetCoderPayloads())\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tu = &ReshuffleOutput{UID: b.idgen.New(), Coder: coder.NewW(pc, w), Out: out[0]}\n\n\t\tdefault:\n\t\t\treturn nil, errors.Errorf(\"unexpected payload: %v\", &tp)\n\t\t}\n\n\tcase graphx.URNWindow:\n\t\tvar wp pipepb.WindowIntoPayload\n\t\tif err := proto.Unmarshal(payload, &wp); err != nil {\n\t\t\treturn nil, errors.Wrapf(err, \"invalid WindowInto payload for %v\", transform)\n\t\t}\n\t\twfn, err := unmarshalWindowFn(wp.GetWindowFn())\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tu = &WindowInto{UID: b.idgen.New(), Fn: wfn, Out: out[0]}\n\n\tcase graphx.URNMapWindows:\n\t\tvar fn pipepb.FunctionSpec\n\t\tif err := proto.Unmarshal(payload, &fn); err != nil {\n\t\t\treturn nil, errors.Wrapf(err, \"invalid SideInput payload for %v\", transform)\n\t\t}","sourceCodeStart":762,"sourceCodeEnd":798,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/go/pkg/beam/core/runtime/exec/translate.go#L762-L798","documentation":"Inside the ParDo/Combine payload switch in makeLink, the TransformPayload's URN was not any of the known edge URNs (DoFn, IterableSideInputKey, Inject, Expand, ReshuffleInput/Output). The translator has no handler for that payload and fails with 'unexpected payload'.","triggerScenarios":"A TransformPayload with an unknown/unsupported URN inside a ParDo transform — usually produced by a newer SDK writing a payload kind an older harness can't handle, or by a corrupted/misparsed base64 payload that decoded with an empty URN.","commonSituations":"Beam version skew (pipeline built with newer SDK, Go harness older); cross-language pipelines emitting payload types the Go exec translator lacks; corrupt job submission.","solutions":["Upgrade the Go Beam SDK harness to match the version that constructed the pipeline","Print & inspect tp.GetUrn() to identify the unhandled payload kind","Update the SDK so the transform uses a supported representation, or remove the unsupported transform from the pipeline"],"exampleFix":"null","handlingStrategy":"try-catch","validationCode":"var tp v1pb.TransformPayload\nif err := protox.DecodeBase64(data, &tp); err != nil {\n\treturn err\n}\nswitch tp.GetUrn() {\ncase graphx.URNDoFn, graphx.URNInject, graphx.URNExpand,\n\tgraphx.URNReshuffleInput, graphx.URNReshuffleOutput,\n\tgraphx.URNIterableSideInputKey:\n\t// supported\ndefault:\n\treturn fmt.Errorf(\"unsupported transform payload URN %q\", tp.GetUrn())\n}","typeGuard":"null","tryCatchPattern":"if _, err := graph.MakePipeline(pipelineProto); err != nil {\n\tvar transErr interface{ Error() string }\n\tif errors.As(err, &transErr) && strings.Contains(err.Error(), \"unexpected payload\") {\n\t\t// version skew: upgrade harness and retry resubmission\n\t}\n}","preventionTips":["Pin identical Beam versions on pipeline builder, runner, and Go harness containers","Avoid cross-language transforms unsupported by the Go exec translator","Clear stale job caches and resubmit after any upgrade"],"tags":["go","apache-beam","pipeline-translation","version-skew"],"backgroundTag":"unsupported-operation","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"}