riteshghorse commented on a change in pull request #15206:
URL: https://github.com/apache/beam/pull/15206#discussion_r675630785
##########
File path: sdks/go/pkg/beam/core/runtime/exec/util.go
##########
@@ -33,13 +34,29 @@ func (g *GenID) New() UnitID {
return UnitID(g.last)
}
+type doFnError struct {
+ doFn string
+ err error
+ uid UnitID
+ pid string
+}
+
+func (e *doFnError) Error() string {
+ return fmt.Sprintf("DoFn[<%d>;<%s>]<%s> returned error:<%s>", e.uid,
e.pid, e.doFn, e.err)
+}
+
// callNoPanic calls the given function and catches any panic.
func callNoPanic(ctx context.Context, fn func(context.Context) error) (err
error) {
defer func() {
if r := recover(); r != nil {
- // Top level error is the panic itself, but also
include the stack trace as the original error.
- // Higher levels can then add appropriate context
without getting pushed down by the stack trace.
- err = errors.SetTopLevelMsgf(errors.Errorf("panic: %v
%s", r, debug.Stack()), "panic: %v", r)
+ // check if error is of type DoFn then handle it
appropriately
Review comment:
Right, should have explained it more clearly
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]