Skip to content

Commit ccf55e7

Browse files
authored
[BEAM-9615] Recover from registration panics. (apache#15228)
1 parent 939fa99 commit ccf55e7

File tree

1 file changed

+8
-1
lines changed
  • sdks/go/pkg/beam/core/runtime/graphx/schema

1 file changed

+8
-1
lines changed

sdks/go/pkg/beam/core/runtime/graphx/schema/schema.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,14 @@ func (r *Registry) RegisterType(ut reflect.Type) {
106106
}
107107

108108
// reconcileRegistrations actually finishes the registration process.
109-
func (r *Registry) reconcileRegistrations() error {
109+
func (r *Registry) reconcileRegistrations() (deferedErr error) {
110+
var ut reflect.Type
111+
defer func() {
112+
if r := recover(); r != nil {
113+
deferedErr = errors.Errorf("panicked: %v", r)
114+
deferedErr = errors.WithContextf(deferedErr, "reconciling schema registration for type %v", ut)
115+
}
116+
}()
110117
for _, ut := range r.toReconcile {
111118
check := func(ut reflect.Type) bool {
112119
return coder.LookupCustomCoder(ut) != nil

0 commit comments

Comments
 (0)