{"record":{"id":"121de4cc7c54616a","repo":"apache/beam","slug":"progress-v-error-from-sdk-v","errorCode":null,"errorMessage":"progress[%v] error from SDK: %v","messagePattern":"progress\\[(.+?)\\] error from SDK: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"sdks/go/pkg/beam/runners/prism/internal/worker/bundle.go","lineNumber":300,"sourceCode":"\t\t\tFinalizeBundle: &fnpb.FinalizeBundleRequest{\n\t\t\t\tInstructionId: b.InstID,\n\t\t\t},\n\t\t},\n\t})\n\treturn resp.GetFinalizeBundle(), nil\n}\n\n// Progress sends a progress request for the given bundle to the passed in worker, blocking on the response.\nfunc (b *B) Progress(ctx context.Context, wk *W) (*fnpb.ProcessBundleProgressResponse, error) {\n\tresp := wk.sendInstruction(ctx, &fnpb.InstructionRequest{\n\t\tRequest: &fnpb.InstructionRequest_ProcessBundleProgress{\n\t\t\tProcessBundleProgress: &fnpb.ProcessBundleProgressRequest{\n\t\t\t\tInstructionId: b.InstID,\n\t\t\t},\n\t\t},\n\t})\n\tif resp.GetError() != \"\" {\n\t\treturn nil, fmt.Errorf(\"progress[%v] error from SDK: %v\", b.InstID, resp.GetError())\n\t}\n\treturn resp.GetProcessBundleProgress(), nil\n}\n\n// Split sends a split request for the given bundle to the passed in worker, blocking on the response.\nfunc (b *B) Split(ctx context.Context, wk *W, fraction float64, allowedSplits []int64) (*fnpb.ProcessBundleSplitResponse, error) {\n\tresp := wk.sendInstruction(ctx, &fnpb.InstructionRequest{\n\t\tRequest: &fnpb.InstructionRequest_ProcessBundleSplit{\n\t\t\tProcessBundleSplit: &fnpb.ProcessBundleSplitRequest{\n\t\t\t\tInstructionId: b.InstID,\n\t\t\t\tDesiredSplits: map[string]*fnpb.ProcessBundleSplitRequest_DesiredSplit{\n\t\t\t\t\tb.InputTransformID: {\n\t\t\t\t\t\tFractionOfRemainder:    fraction,\n\t\t\t\t\t\tAllowedSplitPoints:     allowedSplits,\n\t\t\t\t\t\tEstimatedInputElements: int64(b.EstimatedInputElements),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},","sourceCodeStart":282,"sourceCodeEnd":318,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/go/pkg/beam/runners/prism/internal/worker/bundle.go#L282-L318","documentation":"Error produced in B.Progress when a ProcessBundleProgress request sent to the SDK worker returns a response with a non-empty error. The runner asks the SDK for bundle progress metrics; the SDK-side failure is propagated as an error keyed to the bundle instruction ID, aborting progress reporting for that bundle.","triggerScenarios":"Thrown at sdks/go/pkg/beam/runners/prism/internal/worker/bundle.go:300 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect SDK worker logs for the underlying failure during progress reporting","Fix user DoFn errors that poison bundle progress reporting"],"exampleFix":null,"handlingStrategy":"fallback","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"}