(errs map[proto.NodeID]error)
| 24 | ) |
| 25 | |
| 26 | func (r *Runtime) errorSummary(errs map[proto.NodeID]error) error { |
| 27 | failNodes := make(map[proto.NodeID]error) |
| 28 | |
| 29 | for s, err := range errs { |
| 30 | if err != nil { |
| 31 | failNodes[s] = err |
| 32 | } |
| 33 | } |
| 34 | |
| 35 | if len(failNodes) == 0 { |
| 36 | return nil |
| 37 | } |
| 38 | |
| 39 | return errors.Wrapf(kt.ErrPrepareFailed, "fail on nodes: %v", failNodes) |
| 40 | } |
| 41 | |
| 42 | /// rpc related |
| 43 | func (r *Runtime) applyRPC(l *kt.Log, minCount int) (tracker *rpcTracker) { |