Improve handling of errors in GlobalPinInfo
License: MIT Signed-off-by: Hector Sanjuan <hector@protocol.ai>
This commit is contained in:
parent
b3039b85d5
commit
e9698490b0
25
cluster.go
25
cluster.go
|
@ -486,24 +486,29 @@ func (c *Cluster) globalPinInfoSlice(method string) ([]GlobalPinInfo, error) {
|
|||
}
|
||||
}
|
||||
|
||||
erroredPeers := make(map[peer.ID]string)
|
||||
for i, r := range replies {
|
||||
if e := errs[i]; e != nil {
|
||||
logger.Errorf("%s: error in broadcast response from %s: %s ", c.host.ID(), members[i], e)
|
||||
i := []PinInfo{
|
||||
PinInfo{
|
||||
CidStr: "*",
|
||||
Peer: members[i],
|
||||
IPFS: ClusterError,
|
||||
TS: time.Now(),
|
||||
Error: e.Error(),
|
||||
},
|
||||
}
|
||||
mergePins(i)
|
||||
erroredPeers[members[i]] = e.Error()
|
||||
} else {
|
||||
mergePins(r)
|
||||
}
|
||||
}
|
||||
|
||||
// Merge any errors
|
||||
for p, msg := range erroredPeers {
|
||||
for c, _ := range fullMap {
|
||||
fullMap[c].Status[p] = PinInfo{
|
||||
CidStr: c,
|
||||
Peer: p,
|
||||
IPFS: ClusterError,
|
||||
TS: time.Now(),
|
||||
Error: msg,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for _, v := range fullMap {
|
||||
infos = append(infos, v)
|
||||
}
|
||||
|
|
|
@ -94,6 +94,8 @@ func (st IPFSStatus) String() string {
|
|||
switch st {
|
||||
case Bug:
|
||||
return "bug"
|
||||
case ClusterError:
|
||||
return "cluster_error"
|
||||
case PinError:
|
||||
return "pin_error"
|
||||
case UnpinError:
|
||||
|
|
|
@ -78,7 +78,8 @@ type unpinResp struct {
|
|||
}
|
||||
|
||||
type statusInfo struct {
|
||||
IPFS string `json:"ipfs"`
|
||||
IPFS string `json:"ipfs"`
|
||||
Error string `json:"error,omitempty"`
|
||||
}
|
||||
|
||||
type statusCidResp struct {
|
||||
|
@ -420,7 +421,8 @@ func transformPinToStatusCid(p GlobalPinInfo) statusCidResp {
|
|||
s.Status = make(map[string]statusInfo)
|
||||
for k, v := range p.Status {
|
||||
s.Status[k.Pretty()] = statusInfo{
|
||||
IPFS: v.IPFS.String(),
|
||||
IPFS: v.IPFS.String(),
|
||||
Error: v.Error,
|
||||
}
|
||||
}
|
||||
return s
|
||||
|
|
Loading…
Reference in New Issue
Block a user