{"record":{"id":"08b08b820e463730","repo":"apache/beam","slug":"invalid-windowinto-payload-for-v","errorCode":null,"errorMessage":"invalid WindowInto payload for %v","messagePattern":"invalid WindowInto payload for (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"sdks/go/pkg/beam/core/runtime/exec/translate.go","lineNumber":786,"sourceCode":"\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}\n\t\tmapper, err := unmarshalAndMakeWindowMapping(&fn)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tu = &MapWindows{UID: b.idgen.New(), Fn: mapper, Out: out[0], FnUrn: fn.GetUrn()}\n","sourceCodeStart":768,"sourceCodeEnd":804,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/go/pkg/beam/core/runtime/exec/translate.go#L768-L804","documentation":"When translating a URNWindow (WindowInto) transform, the raw payload bytes must unmarshal into pipepb.WindowIntoPayload. Failure means the payload bytes are not a valid WindowIntoPayload protobuf, so the windowing strategy cannot be reconstructed and translation aborts.","triggerScenarios":"WindowInto payload bytes corrupted in the job proto, a payload generated by a foreign runner not using the Beam proto schema, or a misrouted payload (e.g. FunctionSpec bytes passed where WindowIntoPayload is expected).","commonSituations":"Custom runners crafting pipeline protos by hand; cross-language/cross-version pipelines; payloads altered by proxies or serialized job caches.","solutions":["Resubmit the pipeline from an unmodified Beam SDK so the WindowInto payload is serialized correctly","Verify the payload bytes decode with `proto.Unmarshal(payload, &pipepb.WindowIntoPayload{})` offline","Upgrade SDK versions on both builder and harness sides to ensure schema compatibility"],"exampleFix":"null","handlingStrategy":"validation","validationCode":"var wp pipepb.WindowIntoPayload\nif err := proto.Unmarshal(payload, &wp); err != nil {\n\treturn fmt.Errorf(\"payload is not a WindowIntoPayload: %w\", err)\n}","typeGuard":"null","tryCatchPattern":"if _, err := graph.MakePipeline(pipelineProto); err != nil {\n\tif strings.Contains(err.Error(), \"invalid WindowInto payload\") {\n\t\t// rebuild and resubmit the pipeline from a stock SDK\n\t}\n}","preventionTips":["Resubmit pipelines from unmodified SDK code rather than editing job protos","Keep runner and SDK proto schemas in version lockstep","Validate job proto payloads in CI before submission"],"tags":["go","apache-beam","windowing","protobuf"],"backgroundTag":"protobuf-unmarshal-failed","analyzedSha":"12126d8942aaf848030c478b4c6a28c6af861c66","analyzedAt":"2026-09-13T01:50:10.254Z","contentChangedAt":"2026-09-13T01:50:10.254Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}